Comparing version 1.0.0-alpha to 1.0.0-alpha.2
@@ -1,3 +0,3 @@ | ||
export { Server } from './server'; | ||
export { Response } from './response'; | ||
export { createServer } from './factory'; | ||
export * from './server'; | ||
export * from './factory'; | ||
export * from './response'; |
"use strict"; | ||
function __export(m) { | ||
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; | ||
} | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var server_1 = require("./server"); | ||
exports.Server = server_1.Server; | ||
var response_1 = require("./response"); | ||
exports.Response = response_1.Response; | ||
var factory_1 = require("./factory"); | ||
exports.createServer = factory_1.createServer; | ||
__export(require("./server")); | ||
__export(require("./factory")); | ||
__export(require("./response")); |
@@ -35,3 +35,3 @@ /// <reference types="node" /> | ||
*/ | ||
start(portOrOptions: number | net.ListenOptions): Promise<void>; | ||
start(portOrOptions?: number | net.ListenOptions): Promise<void>; | ||
/** | ||
@@ -50,10 +50,2 @@ * Stops the server from accepting new requests | ||
private _wrap(handler); | ||
/** | ||
* Invoke the request handler and return the response | ||
* | ||
* @param fn The request handler | ||
* @param request The incoming message | ||
* @private | ||
*/ | ||
private _getResponse(fn, request); | ||
} |
@@ -57,37 +57,27 @@ "use strict"; | ||
return (req, res) => { | ||
this._getResponse(handler, req).then((response) => response.send(res)); | ||
new Promise((resolve) => resolve(handler(req))).catch((err) => { | ||
// normalize | ||
if (!(err instanceof Error)) { | ||
err = new Error(`Non-error thrown: "${is_1.default(err)}"`); | ||
} | ||
// delegate | ||
this.native.emit('error', err); | ||
let status = err.status || err.statusCode; | ||
let body = err.expose ? err.message : 'Internal Server Error'; | ||
// support ENOENT | ||
if (err.code === 'ENOENT') | ||
status = 404; | ||
return new response_1.Response(body) | ||
.status(_isValid(status) ? status : 500) | ||
.type('text/plain; charset=utf-8') | ||
.set(err.headers || {}); | ||
}) | ||
.then((response) => { | ||
if (!(response instanceof response_1.Response)) { | ||
response = new response_1.Response(response); | ||
} | ||
response.send(res); | ||
}); | ||
}; | ||
} | ||
/** | ||
* Invoke the request handler and return the response | ||
* | ||
* @param fn The request handler | ||
* @param request The incoming message | ||
* @private | ||
*/ | ||
async _getResponse(fn, request) { | ||
try { | ||
let output = await fn(request); | ||
if (output instanceof response_1.Response) | ||
return output; | ||
return new response_1.Response(output); | ||
} | ||
catch (err) { | ||
// normalize | ||
if (!(err instanceof Error)) { | ||
err = new Error(`Non-error thrown: "${is_1.default(err)}"`); | ||
} | ||
// delegate | ||
this.native.emit('error', err); | ||
let status = err.status || err.statusCode; | ||
let body = err.expose ? err.message : 'Internal Server Error'; | ||
// support ENOENT | ||
if (err.code === 'ENOENT') | ||
status = 404; | ||
return new response_1.Response(body) | ||
.status(_isValid(status) ? status : 500) | ||
.type('text/plain; charset=utf-8') | ||
.set(err.headers || {}); | ||
} | ||
} | ||
} | ||
@@ -94,0 +84,0 @@ exports.Server = Server; |
{ | ||
"name": "aldo-http", | ||
"version": "1.0.0-alpha", | ||
"version": "1.0.0-alpha.2", | ||
"description": "Enhanced HTTP `createServer` module for Node.js", | ||
"types": "lib/index.d.ts", | ||
"main": "lib/index.js", | ||
"engines": { | ||
"node": ">=8" | ||
"node": ">=8", | ||
"npm": ">=5" | ||
}, | ||
@@ -14,3 +16,3 @@ "files": [ | ||
"build": "tsc", | ||
"prepublishOnly": "tsc && npm test", | ||
"prepublishOnly": "tsc && npm test && npm test", | ||
"test": "mocha -R dot -r ts-node/register \"test/**/*.ts\"" | ||
@@ -17,0 +19,0 @@ }, |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
2
22285
664