@loopback/http-server
Advanced tools
+12
-0
@@ -6,2 +6,14 @@ # Change Log | ||
| # [2.2.0](https://github.com/strongloop/loopback-next/compare/@loopback/http-server@2.1.12...@loopback/http-server@2.2.0) (2020-08-27) | ||
| ### Features | ||
| * **http-server:** add debugging statements for http-server package ([ffde907](https://github.com/strongloop/loopback-next/commit/ffde907c188ca48163eb0ba1bb7b0e0ecb612367)) | ||
| * **rest:** make sure rest options are passed to http-server ([e9af196](https://github.com/strongloop/loopback-next/commit/e9af1961dfe2aaae3c07e3100f6fe538797943e0)) | ||
| ## [2.1.12](https://github.com/strongloop/loopback-next/compare/@loopback/http-server@2.1.11...@loopback/http-server@2.1.12) (2020-08-19) | ||
@@ -8,0 +20,0 @@ |
@@ -59,3 +59,3 @@ /// <reference types="node" /> | ||
| private _stoppable; | ||
| private serverOptions; | ||
| readonly serverOptions: HttpServerOptions; | ||
| /** | ||
@@ -62,0 +62,0 @@ * @param requestListener |
+15
-1
@@ -10,2 +10,3 @@ "use strict"; | ||
| const assert_1 = tslib_1.__importDefault(require("assert")); | ||
| const debug_1 = tslib_1.__importDefault(require("debug")); | ||
| const events_1 = require("events"); | ||
@@ -16,2 +17,3 @@ const http_1 = tslib_1.__importDefault(require("http")); | ||
| const stoppable_1 = tslib_1.__importDefault(require("stoppable")); | ||
| const debug = debug_1.default('loopback:http-server'); | ||
| /** | ||
@@ -28,5 +30,11 @@ * HTTP / HTTPS server used by LoopBack's RestServer | ||
| this._listening = false; | ||
| debug('Http server options', serverOptions); | ||
| this.requestListener = requestListener; | ||
| this.serverOptions = Object.assign({ port: 0, host: undefined }, serverOptions); | ||
| this.serverOptions = { | ||
| port: 0, | ||
| host: undefined, | ||
| ...serverOptions, | ||
| }; | ||
| if (this.serverOptions.path) { | ||
| debug('Http server with IPC path %s', this.serverOptions.path); | ||
| const ipcPath = this.serverOptions.path; | ||
@@ -46,2 +54,3 @@ checkNamedPipe(ipcPath); | ||
| if (typeof this.serverOptions.gracePeriodForClose === 'number') { | ||
| debug('Http server gracePeriodForClose %d', this.serverOptions.gracePeriodForClose); | ||
| this._stoppable = stoppable_1.default(this.server, this.serverOptions.gracePeriodForClose); | ||
@@ -54,2 +63,3 @@ } | ||
| async start() { | ||
| debug('Starting http server', this.serverOptions); | ||
| this.server.listen(this.serverOptions); | ||
@@ -61,2 +71,3 @@ await events_1.once(this.server, 'listening'); | ||
| this._address = address; | ||
| debug('Http server is listening on', this.url); | ||
| } | ||
@@ -69,3 +80,5 @@ /** | ||
| return; | ||
| debug('Stopping http server'); | ||
| if (this._stoppable != null) { | ||
| debug('Stopping http server with graceful close'); | ||
| this._stoppable.stop(); | ||
@@ -78,2 +91,3 @@ } | ||
| this._listening = false; | ||
| debug('Http server is stopped'); | ||
| } | ||
@@ -80,0 +94,0 @@ /** |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"http-server.js","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"http-server.js","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"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"} |
+8
-6
| { | ||
| "name": "@loopback/http-server", | ||
| "version": "2.1.12", | ||
| "version": "2.2.0", | ||
| "description": "A wrapper for creating HTTP/HTTPS servers", | ||
@@ -24,2 +24,3 @@ "main": "dist/index.js", | ||
| "dependencies": { | ||
| "debug": "^4.1.1", | ||
| "stoppable": "^1.1.0", | ||
@@ -29,6 +30,7 @@ "tslib": "^2.0.1" | ||
| "devDependencies": { | ||
| "@loopback/build": "^6.2.1", | ||
| "@loopback/core": "^2.9.4", | ||
| "@loopback/eslint-config": "^9.0.1", | ||
| "@loopback/testlab": "^3.2.3", | ||
| "@loopback/build": "^6.2.2", | ||
| "@loopback/core": "^2.9.5", | ||
| "@loopback/eslint-config": "^9.0.2", | ||
| "@loopback/testlab": "^3.2.4", | ||
| "@types/debug": "^4.1.5", | ||
| "@types/node": "^10.17.28", | ||
@@ -48,3 +50,3 @@ "@types/stoppable": "^1.1.0" | ||
| }, | ||
| "gitHead": "a056555744367da9caccb6be64095e27d2fe2e28" | ||
| "gitHead": "a3f54273814de63819e0d8bc86509f8a737800bb" | ||
| } |
+19
-5
@@ -7,2 +7,3 @@ // Copyright IBM Corp. 2018,2020. All Rights Reserved. | ||
| import assert from 'assert'; | ||
| import debugFactory from 'debug'; | ||
| import {once} from 'events'; | ||
@@ -14,2 +15,3 @@ import http, {IncomingMessage, ServerResponse} from 'http'; | ||
| import stoppable from 'stoppable'; | ||
| const debug = debugFactory('loopback:http-server'); | ||
@@ -79,3 +81,3 @@ /** | ||
| private _stoppable: stoppable.StoppableServer; | ||
| private serverOptions: HttpServerOptions; | ||
| readonly serverOptions: HttpServerOptions; | ||
@@ -90,8 +92,11 @@ /** | ||
| ) { | ||
| debug('Http server options', serverOptions); | ||
| this.requestListener = requestListener; | ||
| this.serverOptions = Object.assign( | ||
| {port: 0, host: undefined}, | ||
| serverOptions, | ||
| ); | ||
| this.serverOptions = { | ||
| port: 0, | ||
| host: undefined, | ||
| ...serverOptions, | ||
| }; | ||
| if (this.serverOptions.path) { | ||
| debug('Http server with IPC path %s', this.serverOptions.path); | ||
| const ipcPath = this.serverOptions.path; | ||
@@ -113,2 +118,6 @@ checkNamedPipe(ipcPath); | ||
| if (typeof this.serverOptions.gracePeriodForClose === 'number') { | ||
| debug( | ||
| 'Http server gracePeriodForClose %d', | ||
| this.serverOptions.gracePeriodForClose, | ||
| ); | ||
| this._stoppable = stoppable( | ||
@@ -125,2 +134,3 @@ this.server, | ||
| public async start() { | ||
| debug('Starting http server', this.serverOptions); | ||
| this.server.listen(this.serverOptions); | ||
@@ -133,2 +143,3 @@ await once(this.server, 'listening'); | ||
| this._address = address!; | ||
| debug('Http server is listening on', this.url); | ||
| } | ||
@@ -141,3 +152,5 @@ | ||
| if (!this._listening) return; | ||
| debug('Stopping http server'); | ||
| if (this._stoppable != null) { | ||
| debug('Stopping http server with graceful close'); | ||
| this._stoppable.stop(); | ||
@@ -149,2 +162,3 @@ } else { | ||
| this._listening = false; | ||
| debug('Http server is stopped'); | ||
| } | ||
@@ -151,0 +165,0 @@ |
Network access
Supply chain riskThis module accesses the network.
Found 3 instances in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 3 instances in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
47164
4.82%521
5.68%3
50%7
16.67%+ Added
+ Added
+ Added