From c1a95675f8fc435b8215caba8a0c77aa92d8dd34 Mon Sep 17 00:00:00 2001 From: johnjbarton Date: Thu, 7 Jun 2018 08:28:19 -0700 Subject: [PATCH] refactor(middleware): update middleware/common to ES6 (#3028) --- lib/middleware/common.js | 65 ++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 36 deletions(-) diff --git a/lib/middleware/common.js b/lib/middleware/common.js index 2eea405d8..d338f2b06 100644 --- a/lib/middleware/common.js +++ b/lib/middleware/common.js @@ -1,41 +1,44 @@ /** * This module contains some common helpers shared between middlewares */ +'use strict' -var mime = require('mime') -var _ = require('lodash') -var parseRange = require('range-parser') -var Buffer = require('safe-buffer').Buffer +const mime = require('mime') +const _ = require('lodash') +const parseRange = require('range-parser') +const Buffer = require('safe-buffer').Buffer -var log = require('../logger').create('web-server') +const log = require('../logger').create('web-server') -var PromiseContainer = function () { - var promise +class PromiseContainer { + constructor () { + this.promise = null + } - this.then = function (success, error) { + then (success, error) { error = error || _.noop - return promise.then(success).catch(error) + return this.promise.then(success).catch(error) } - this.set = function (newPromise) { - promise = newPromise + set (newPromise) { + this.promise = newPromise } } -var serve404 = function (response, path) { +function serve404 (response, path) { log.warn('404: ' + path) response.writeHead(404) return response.end('NOT FOUND') } -var createServeFile = function (fs, directory, config) { - var cache = Object.create(null) +function createServeFile (fs, directory, config) { + const cache = Object.create(null) return function (filepath, rangeHeader, response, transform, content, doNotCache) { - var responseData + let responseData - var convertForRangeRequest = function () { - var range = parseRange(responseData.length, rangeHeader) + const convertForRangeRequest = function () { + const range = parseRange(responseData.length, rangeHeader) if (range === -2) { // malformed header string return 200 @@ -46,8 +49,8 @@ var createServeFile = function (fs, directory, config) { } else if (range.type === 'bytes') { responseData = Buffer.from(responseData) if (range.length === 1) { - var start = range[0].start - var end = range[0].end + const start = range[0].start + const end = range[0].end response.setHeader( 'Content-Range', 'bytes ' + start + '-' + end + '/' + responseData.length @@ -76,7 +79,7 @@ var createServeFile = function (fs, directory, config) { if (config && config.customHeaders && config.customHeaders.length > 0) { config.customHeaders.forEach(function (header) { - var regex = new RegExp(header.match) + const regex = new RegExp(header.match) if (regex.test(filepath)) { log.debug('setting header: ' + header.name + ' for: ' + filepath) response.setHeader(header.name, header.value) @@ -91,12 +94,7 @@ var createServeFile = function (fs, directory, config) { // call custom transform fn to transform the data responseData = (transform && transform(content)) || content - if (rangeHeader) { - var code = convertForRangeRequest() - response.writeHead(code) - } else { - response.writeHead(200) - } + response.writeHead(rangeHeader ? convertForRangeRequest() : 200) log.debug('serving (cached): ' + filepath) return response.end(responseData) @@ -116,12 +114,7 @@ var createServeFile = function (fs, directory, config) { // call custom transform fn to transform the data responseData = (transform && transform(data.toString())) || data - if (rangeHeader) { - var code = convertForRangeRequest() - response.writeHead(code) - } else { - response.writeHead(200) - } + response.writeHead(rangeHeader ? convertForRangeRequest() : 200) log.debug('serving: ' + filepath) return response.end(responseData) @@ -129,20 +122,20 @@ var createServeFile = function (fs, directory, config) { } } -var setNoCacheHeaders = function (response) { +function setNoCacheHeaders (response) { response.setHeader('Cache-Control', 'no-cache') response.setHeader('Pragma', 'no-cache') response.setHeader('Expires', (new Date(0)).toUTCString()) } -var setHeavyCacheHeaders = function (response) { +function setHeavyCacheHeaders (response) { response.setHeader('Cache-Control', 'public, max-age=31536000') } -var initializeMimeTypes = function (config) { +function initializeMimeTypes (config) { if (config && config.mime) { _.forEach(config.mime, function (value, key) { - var map = {} + const map = {} map[key] = value mime.define(map) })