Skip to content

Commit

Permalink
fixed standard issues
Browse files Browse the repository at this point in the history
  • Loading branch information
refractalize committed Apr 11, 2017
1 parent 4c99976 commit 6fba70d
Show file tree
Hide file tree
Showing 11 changed files with 84 additions and 64 deletions.
6 changes: 6 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"extends": [
"standard",
"plugin:es5/no-es2015"
]
}
20 changes: 10 additions & 10 deletions browserMiddleware.js
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ middleware('jsonp', function (request, next) {
var script = document.createElement('script')
script.type = 'text/javascript'
script.src = request.url
script.onerror = function (error) {
script.onerror = function () {
reject(new Error('could not load script tag for JSONP request: ' + request.url))
}
document.head.appendChild(script)
Expand Down Expand Up @@ -137,11 +137,11 @@ function setHeaders (headers, xhr) {
}

function responseUrl (xhr, requestUrl) {
var origin = location.origin
var origin = window.location.origin
var responseUrl = xhr.responseURL

if (responseUrl) {
if (responseUrl.substring(0, origin.length) == origin) {
if (responseUrl.substring(0, origin.length) === origin) {
return responseUrl.substring(origin.length)
} else {
return responseUrl
Expand All @@ -154,28 +154,28 @@ function responseUrl (xhr, requestUrl) {
middleware('send', function (request) {
var Xhr = request.options.xhr || window.XMLHttpRequest
var xhr = new Xhr()
var reject
var rejectPromise

var promise = new Promise(function (fulfil, _reject) {
reject = _reject
var promise = new Promise(function (resolve, reject) {
rejectPromise = reject
xhr.open(request.method, request.url, true)
xhr.onload = function () {
var statusCode = xhr.status

var response = {
body: statusCode == 204 ? undefined : xhr.responseText,
body: statusCode === 204 ? undefined : xhr.responseText,
headers: parseHeaders(xhr.getAllResponseHeaders()),
statusCode: statusCode,
url: responseUrl(xhr, request.url),
xhr: xhr,
statusText: xhr.statusText
}

fulfil(response)
resolve(response)
}

xhr.onerror = function () {
reject(new Error('failed to connect to ' + request.method + ' ' + request.url))
rejectPromise(new Error('failed to connect to ' + request.method + ' ' + request.url))
}

if (!isCrossDomain(request.url) && !request.headers['x-requested-with']) {
Expand All @@ -192,7 +192,7 @@ middleware('send', function (request) {
xhr.abort()
var error = new Error('aborted connection to ' + request.method + ' ' + request.url)
error.aborted = true
reject(error)
rejectPromise(error)
}
addAbortToPromise(promise, abort)

Expand Down
7 changes: 3 additions & 4 deletions httpism.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
var merge = require('./merge')
var resolveUrl = require('./resolveUrl')
var utils = require('./middlewareUtils')

function client (url, options, middlewares) {
return new Httpism(url, options, middlewares)
Expand Down Expand Up @@ -38,7 +37,7 @@ Httpism.prototype.send = function (method, url, body, _options) {
}

return sendToMiddleware(0, request).then(function (response) {
if (options.response == true) {
if (options.response === true) {
return response
} else {
responseCompatibility(response)
Expand Down Expand Up @@ -100,7 +99,7 @@ function responseCompatibility (response) {
function lowerCaseHeaders (headers) {
Object.keys(headers).forEach(function (key) {
var lower = key.toLowerCase()
if (key.toLowerCase() != key) {
if (key.toLowerCase() !== key) {
headers[lower] = headers[key]
delete headers[key]
}
Expand All @@ -112,7 +111,7 @@ function lowerCaseHeaders (headers) {
function findMiddlewareIndexes (names, middlewares) {
return names.map(function (name) {
for (var n = 0; n < middlewares.length; n++) {
if (middlewares[n].middleware == name) {
if (middlewares[n].middleware === name) {
return n
}
}
Expand Down
26 changes: 13 additions & 13 deletions middleware.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ middleware('querystring', utils.querystring)
middleware('expandUrl', utils.expandUrl)

exports.streamToString = function (s) {
return new Promise(function (result, error) {
return new Promise(function (resolve, reject) {
s.setEncoding('utf-8')
var strings = []

Expand All @@ -33,23 +33,23 @@ exports.streamToString = function (s) {
})

s.on('end', function () {
result(strings.join(''))
resolve(strings.join(''))
})

s.on('error', function (e) {
error(e)
reject(e)
})
})
}

exports.consumeStream = function (s) {
return new Promise(function (result, error) {
return new Promise(function (resolve, reject) {
s.on('end', function () {
result()
resolve()
})

s.on('error', function (e) {
error(e)
reject(e)
})

s.resume()
Expand Down Expand Up @@ -138,7 +138,7 @@ function parseUrl (request) {
}

middleware('http', function (request) {
return new Promise(function (result, error) {
return new Promise(function (resolve, reject) {
var url = parseUrl(request)

var req = nodeRequest(
Expand All @@ -153,7 +153,7 @@ middleware('http', function (request) {
request.options,
url.protocol,
function (res) {
return result({
return resolve({
statusCode: res.statusCode,
statusText: http.STATUS_CODES[res.statusCode],
url: request.url,
Expand All @@ -164,7 +164,7 @@ middleware('http', function (request) {
)

req.on('error', function (e) {
error(e)
reject(e)
})

if (request.body) {
Expand Down Expand Up @@ -256,9 +256,9 @@ middleware('redirect', function (request, next, client) {
return exports.consumeStream(response.body).then(function () {
logResponse(response)
return client.get(urlUtils.resolve(request.url, location), request.options).then(function (redirectResponse) {
throw {
redirectResponse: redirectResponse
}
var error = new Error('redirect')
error.redirectResponse = redirectResponse
throw error
})
})
} else {
Expand Down Expand Up @@ -359,7 +359,7 @@ middleware('streamContentType', function (request, next) {
})

function encodeBasicAuthorizationHeader (s) {
return 'Basic ' + new Buffer(s).toString('base64')
return 'Basic ' + Buffer.from(s).toString('base64')
}

middleware('basicAuth', function (request, next) {
Expand Down
4 changes: 2 additions & 2 deletions middlewareUtils.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ var obfuscateUrlPassword = require('./obfuscateUrlPassword')

module.exports.setHeaderTo = function (request, header, value) {
if (!request.headers[header]) {
return request.headers[header] = value
return (request.headers[header] = value)
}
}

Expand Down Expand Up @@ -59,7 +59,7 @@ exports.extend = extend
exports.exception = function (request, next) {
return next().then(function (response) {
var exceptions = request.options.exceptions
var isException = exceptions == false ? false : typeof exceptions === 'function' ? exceptions(response) : response.statusCode >= 400
var isException = exceptions === false ? false : typeof exceptions === 'function' ? exceptions(response) : response.statusCode >= 400

if (isException) {
var msg = request.method.toUpperCase() + ' ' + obfuscateUrlPassword(request.url) + ' => ' + response.statusCode + ' ' + response.statusText
Expand Down
10 changes: 9 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,13 @@
"cookie-parser": "1.4.3",
"cors": "2.8.1",
"es6-promise": "4.1.0",
"eslint": "3.19.0",
"eslint-config-standard": "10.2.0",
"eslint-plugin-es5": "1.0.1",
"eslint-plugin-import": "2.2.0",
"eslint-plugin-node": "4.2.2",
"eslint-plugin-promise": "3.5.0",
"eslint-plugin-standard": "3.0.1",
"express": "4.15.2",
"fake-xml-http-request": "1.4.0",
"form-data": "2.1.2",
Expand All @@ -40,6 +47,7 @@
"phantomjs-prebuilt": "2.1.14",
"qs": "6.4.0",
"server-destroy": "1.0.1",
"standard": "10.0.1",
"uglify-js": "2.8.21",
"url-template": "2.0.8",
"watchify": "3.9.0"
Expand All @@ -48,7 +56,7 @@
"test": "test"
},
"scripts": {
"test": "npm run test-mocha && npm run test-browser -- --single-run --browsers PhantomJS",
"test": "npm run test-mocha && npm run test-browser -- --single-run --browsers PhantomJS && eslint .",
"test-browser": "karma start",
"test-mocha": "mocha",
"size": "browserify browser.js > _httpism.js && uglifyjs --compress warnings=false --mangle -- _httpism.js > _httpism.min.js && gzip < _httpism.min.js > _httpism.min.js.gz && ls -lh _httpism.*"
Expand Down
4 changes: 2 additions & 2 deletions resolveUrl.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
/* jslint regexp: true, white: true, maxerr: 50, indent: 2 */

function parseURI (url) {
var m = String(url).replace(/^\s+|\s+$/g, '').match(/^([^:\/?#]+:)?(\/\/(?:[^:@]*(?::[^:@]*)?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/)
var m = String(url).replace(/^\s+|\s+$/g, '').match(/^([^:/?#]+:)?(\/\/(?:[^:@]*(?::[^:@]*)?@)?(([^:/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/)
// authority = '//' + user + ':' + pass '@' + hostname + ':' port
return (m ? {
href: m[0] || '',
Expand All @@ -24,7 +24,7 @@ module.exports = function (base, href) { // RFC 3986
input.replace(/^(\.\.?(\/|$))+/, '')
.replace(/\/(\.(\/|$))+/g, '/')
.replace(/\/\.\.$/, '/../')
.replace(/\/?[^\/]*/g, function (p) {
.replace(/\/?[^/]*/g, function (p) {
if (p === '/..') {
output.pop()
} else {
Expand Down
2 changes: 1 addition & 1 deletion test/browser/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ app.get('/redirect', function (req, res) {

app.get('/jsonp', function (req, res) {
res.set('Content-Type', 'text/javascript')
res.send(`${req.query.callback}({blah: 'blah'})`)
res.send(req.query.callback + "({blah: 'blah'})")
})

module.exports = app
32 changes: 17 additions & 15 deletions test/browser/httpismSpec.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
/* eslint-env mocha */

var chai = require('chai')
var expect = chai.expect
chai.use(require('chai-as-promised'))
Expand All @@ -16,8 +18,8 @@ describe('httpism', function () {
this.server.destroy()
}

var app = serverRequire('./test/browser/app')
var serverDestroy = serverRequire('server-destroy')
var app = serverRequire('./test/browser/app') // eslint-disable-line no-undef
var serverDestroy = serverRequire('server-destroy') // eslint-disable-line no-undef

this.server = app.listen(12345)
serverDestroy(this.server)
Expand Down Expand Up @@ -92,7 +94,7 @@ describe('httpism', function () {
it("by default, doesn't send cookies cross-domain", function () {
return httpism.get(server + '/cookies', {querystring: {a: 'b'}, withCredentials: true}).then(function () {
return httpism.get(server + '/').then(function (body) {
expect(body.cookies.a).to.be.undefined
expect(body.cookies.a).to.equal(undefined)
})
})
})
Expand All @@ -107,7 +109,7 @@ describe('httpism', function () {

it("doesn't send x-requested-with if cross-domain", function () {
return httpism.get(server + '/').then(function (body) {
expect(body.xhr).to.be.false
expect(body.xhr).to.equal(false)
})
})

Expand Down Expand Up @@ -173,14 +175,14 @@ describe('httpism', function () {
it('can abort a request', function () {
var request = httpism.get('/')
request.abort()
return new Promise(function (fulfil, reject) {
return new Promise(function (resolve, reject) {
request.then(function (response) {
reject(new Error("didn't expect response"))
}, function (error) {
if (error.aborted != true) {
if (error.aborted !== true) {
reject(error)
} else {
fulfil()
resolve()
}
})
})
Expand All @@ -201,27 +203,27 @@ describe('httpism', function () {

var request = http.get('/')
request.abort()
return new Promise(function (fulfil, reject) {
return new Promise(function (resolve, reject) {
request.then(function (response) {
reject(new Error("didn't expect response"))
}, function (error) {
if (error.aborted != true) {
if (error.aborted !== true) {
reject(error)
} else {
fulfil()
resolve()
}
})
}).then(function () {
expect(middlewareRequest).to.be.true
expect(middlewareResponse).to.be.undefined
expect(middlewareRequest).to.equal(true)
expect(middlewareResponse).to.equal(undefined)
})
})
})

describe('x-requested-with header', function () {
it('sends the x-requested-with header', function () {
return httpism.get('/').then(function (body) {
expect(body.xhr).to.be.true
expect(body.xhr).to.equal(true)
})
})
})
Expand All @@ -230,7 +232,7 @@ describe('httpism', function () {
it('can respond with 204 and empty body', function () {
return httpism.delete('/delete', {response: true}).then(function (response) {
expect(response.statusCode).to.equal(204)
expect(response.body).to.be.undefined
expect(response.body).to.equal(undefined)
})
})
})
Expand All @@ -241,7 +243,7 @@ describe('httpism', function () {
greeting: 'hi'
}, {
jsonReviver: function (key, value) {
if (key != 'greeting') return value
if (key !== 'greeting') return value
return value + '!'
}
}).then(function (body) {
Expand Down
Loading

0 comments on commit 6fba70d

Please sign in to comment.