Skip to content

Commit

Permalink
Merge pull request #56 from bobisjan/prettier
Browse files Browse the repository at this point in the history
Add Prettier
  • Loading branch information
locks committed Jan 19, 2020
2 parents dec01ce + 3aec19f commit 3ec6b07
Show file tree
Hide file tree
Showing 8 changed files with 168 additions and 235 deletions.
8 changes: 4 additions & 4 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ module.exports = {
parserOptions: {
ecmaVersion: 2017,
},
extends: ['eslint:recommended', 'plugin:node/recommended'],
plugins: ['node'],
extends: ['eslint:recommended', 'plugin:node/recommended', 'plugin:prettier/recommended'],
plugins: ['node', 'prettier'],
env: {
node: true,
es6: true,
Expand All @@ -18,5 +18,5 @@ module.exports = {
extends: ['plugin:mocha/recommended'],
plugins: ['mocha'],
},
]
};
],
};
5 changes: 5 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"singleQuote": true,
"printWidth": 100,
"trailingComma": "es5"
}
3 changes: 3 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,13 @@
"chai-as-promised": "^7.1.1",
"ember-cli": "^2.7.0",
"eslint": "^6.8.0",
"eslint-config-prettier": "^6.9.0",
"eslint-plugin-mocha": "^6.2.2",
"eslint-plugin-node": "^11.0.0",
"eslint-plugin-prettier": "^3.1.2",
"express": "^4.13.4",
"mocha": "^5.0.0",
"prettier": "^1.19.1",
"request-promise": "^4.2.1"
},
"dependencies": {
Expand Down
71 changes: 35 additions & 36 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
'use strict';


function fastbootExpressMiddleware(distPath, options) {
let opts = options;

Expand All @@ -22,51 +21,51 @@ function fastbootExpressMiddleware(distPath, options) {
let FastBoot = require('fastboot');
fastboot = new FastBoot({
distPath: opts.distPath,
resilient: opts.resilient
resilient: opts.resilient,
});
}

return function(req, res, next) {
let path = req.url;
fastboot.visit(path, { request: req, response: res })
.then(success, failure);
fastboot.visit(path, { request: req, response: res }).then(success, failure);

function success(result) {
let responseBody = opts.chunkedResponse ? result.chunks() : result.html();

responseBody.then(body => {
let headers = result.headers;
let statusMessage = result.error ? 'NOT OK ' : 'OK ';

for (var pair of headers.entries()) {
res.set(pair[0], pair[1]);
}

if (result.error) {
log("RESILIENT MODE CAUGHT:", result.error.stack);
next(result.error);
}

log(result.statusCode, statusMessage + path);
res.status(result.statusCode);

if (typeof body === 'string') {
res.send(body);
} else if (result.error) {
res.send(body[0]);
} else {
body.forEach(chunk => res.write(chunk));
res.end();
}
})
.catch(error => {
res.status(500);
next(error);
});
responseBody
.then(body => {
let headers = result.headers;
let statusMessage = result.error ? 'NOT OK ' : 'OK ';

for (var pair of headers.entries()) {
res.set(pair[0], pair[1]);
}

if (result.error) {
log('RESILIENT MODE CAUGHT:', result.error.stack);
next(result.error);
}

log(result.statusCode, statusMessage + path);
res.status(result.statusCode);

if (typeof body === 'string') {
res.send(body);
} else if (result.error) {
res.send(body[0]);
} else {
body.forEach(chunk => res.write(chunk));
res.end();
}
})
.catch(error => {
res.status(500);
next(error);
});
}

function failure(error) {
if (error.name === "UnrecognizedURLError") {
if (error.name === 'UnrecognizedURLError') {
next();
} else {
res.status(500);
Expand All @@ -85,10 +84,10 @@ function _log(statusCode, message, startTime) {

if (startTime) {
let diff = Date.now() - startTime;
message = message + chalk.blue(" " + diff + "ms");
message = message + chalk.blue(' ' + diff + 'ms');
}

console.log(chalk.blue(now.toISOString()) + " " + chalk[color](statusCode) + " " + message);
console.log(chalk.blue(now.toISOString()) + ' ' + chalk[color](statusCode) + ' ' + message);
}

module.exports = fastbootExpressMiddleware;
13 changes: 7 additions & 6 deletions test/helpers/test-http-server.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'use strict';

const express = require('express');
const request = require('request-promise');
const express = require('express');
const request = require('request-promise');

let serverID = 0;

Expand All @@ -27,14 +27,15 @@ class TestHTTPServer {
}

if (options.recoverErrors) {
app.use((err, req, res, next) => { // eslint-disable-line no-unused-vars
// eslint-disable-next-line no-unused-vars
app.use((err, req, res, next) => {
res.set('x-test-recovery', 'recovered response');
res.status(200);
res.send('hello world');
});
}

return new Promise((resolve) => {
return new Promise(resolve => {
let port = options.port || 3000;
let host = options.host || 'localhost';

Expand All @@ -46,7 +47,7 @@ class TestHTTPServer {
this.info = {
host: host,
port: port,
listener: listener
listener: listener,
};

resolve(this.info);
Expand All @@ -61,7 +62,7 @@ class TestHTTPServer {
if (options && options.resolveWithFullResponse) {
return request({
resolveWithFullResponse: options.resolveWithFullResponse,
uri: url + urlPath
uri: url + urlPath,
});
}

Expand Down
Loading

0 comments on commit 3ec6b07

Please sign in to comment.