@loopback/http-server
Advanced tools
Comparing version 2.2.2 to 2.3.0
@@ -6,2 +6,13 @@ # Change Log | ||
# [2.3.0](https://github.com/strongloop/loopback-next/compare/@loopback/http-server@2.2.2...@loopback/http-server@2.3.0) (2020-10-07) | ||
### Features | ||
* **http-server:** configure http.Server and Server properties ([42ad4b8](https://github.com/strongloop/loopback-next/commit/42ad4b887616879241337af1817fe30690641188)) | ||
## [2.2.2](https://github.com/strongloop/loopback-next/compare/@loopback/http-server@2.2.1...@loopback/http-server@2.2.2) (2020-09-17) | ||
@@ -8,0 +19,0 @@ |
/// <reference types="node" /> | ||
import http, { IncomingMessage, ServerResponse } from 'http'; | ||
import http, { IncomingMessage, Server, ServerResponse } from 'http'; | ||
import https from 'https'; | ||
@@ -10,5 +10,11 @@ import { AddressInfo, ListenOptions } from 'net'; | ||
/** | ||
* The following are for configuring properties which are directly set on | ||
* https://nodejs.org/api/http.html#http_class_http_server and | ||
* https://nodejs.org/api/net.html#net_class_net_server | ||
*/ | ||
export declare type HttpServerProperties = Pick<Server, 'keepAliveTimeout' | 'headersTimeout' | 'maxConnections' | 'maxHeadersCount' | 'timeout'>; | ||
/** | ||
* Base options that are common to http and https servers | ||
*/ | ||
export interface BaseHttpOptions extends ListenOptions { | ||
export interface BaseHttpOptions extends ListenOptions, Partial<HttpServerProperties> { | ||
/** | ||
@@ -15,0 +21,0 @@ * The `gracePeriodForClose` property controls how to stop the server |
@@ -49,2 +49,19 @@ "use strict"; | ||
} | ||
// Apply server properties | ||
const { keepAliveTimeout, headersTimeout, maxConnections, maxHeadersCount, timeout, } = this.serverOptions; | ||
if (keepAliveTimeout) { | ||
this.server.keepAliveTimeout = keepAliveTimeout; | ||
} | ||
if (headersTimeout) { | ||
this.server.headersTimeout = headersTimeout; | ||
} | ||
if (maxConnections) { | ||
this.server.maxConnections = maxConnections; | ||
} | ||
if (maxHeadersCount) { | ||
this.server.maxHeadersCount = maxHeadersCount; | ||
} | ||
if (timeout) { | ||
this.server.timeout = timeout; | ||
} | ||
// Set up graceful stop for http server | ||
@@ -51,0 +68,0 @@ if (typeof this.serverOptions.gracePeriodForClose === 'number') { |
{ | ||
"name": "@loopback/http-server", | ||
"version": "2.2.2", | ||
"version": "2.3.0", | ||
"description": "A wrapper for creating HTTP/HTTPS servers", | ||
@@ -8,3 +8,3 @@ "main": "dist/index.js", | ||
"engines": { | ||
"node": ">=10.16" | ||
"node": "^10.16 || 12 || 14" | ||
}, | ||
@@ -25,11 +25,11 @@ "scripts": { | ||
"dependencies": { | ||
"debug": "^4.1.1", | ||
"debug": "^4.2.0", | ||
"stoppable": "^1.1.0", | ||
"tslib": "^2.0.1" | ||
"tslib": "^2.0.2" | ||
}, | ||
"devDependencies": { | ||
"@loopback/build": "^6.2.4", | ||
"@loopback/core": "^2.10.1", | ||
"@loopback/eslint-config": "^10.0.0", | ||
"@loopback/testlab": "^3.2.6", | ||
"@loopback/build": "^6.2.5", | ||
"@loopback/core": "^2.11.0", | ||
"@loopback/eslint-config": "^10.0.1", | ||
"@loopback/testlab": "^3.2.7", | ||
"@types/debug": "^4.1.5", | ||
@@ -50,3 +50,3 @@ "@types/node": "^10.17.35", | ||
}, | ||
"gitHead": "79327fd7e68ebb05be0aa689f4986b54e2a99a6b" | ||
"gitHead": "390f2794d10eea3d969ae417963af815ce1bc417" | ||
} |
@@ -9,3 +9,3 @@ // Copyright IBM Corp. 2018,2020. All Rights Reserved. | ||
import {once} from 'events'; | ||
import http, {IncomingMessage, ServerResponse} from 'http'; | ||
import http, {IncomingMessage, Server, ServerResponse} from 'http'; | ||
import https from 'https'; | ||
@@ -26,5 +26,21 @@ import {AddressInfo, ListenOptions} from 'net'; | ||
/** | ||
* The following are for configuring properties which are directly set on | ||
* https://nodejs.org/api/http.html#http_class_http_server and | ||
* https://nodejs.org/api/net.html#net_class_net_server | ||
*/ | ||
export type HttpServerProperties = Pick< | ||
Server, | ||
| 'keepAliveTimeout' | ||
| 'headersTimeout' | ||
| 'maxConnections' | ||
| 'maxHeadersCount' | ||
| 'timeout' | ||
>; | ||
/** | ||
* Base options that are common to http and https servers | ||
*/ | ||
export interface BaseHttpOptions extends ListenOptions { | ||
export interface BaseHttpOptions | ||
extends ListenOptions, | ||
Partial<HttpServerProperties> { | ||
/** | ||
@@ -114,2 +130,27 @@ * The `gracePeriodForClose` property controls how to stop the server | ||
} | ||
// Apply server properties | ||
const { | ||
keepAliveTimeout, | ||
headersTimeout, | ||
maxConnections, | ||
maxHeadersCount, | ||
timeout, | ||
} = this.serverOptions; | ||
if (keepAliveTimeout) { | ||
this.server.keepAliveTimeout = keepAliveTimeout; | ||
} | ||
if (headersTimeout) { | ||
this.server.headersTimeout = headersTimeout; | ||
} | ||
if (maxConnections) { | ||
this.server.maxConnections = maxConnections; | ||
} | ||
if (maxHeadersCount) { | ||
this.server.maxHeadersCount = maxHeadersCount; | ||
} | ||
if (timeout) { | ||
this.server.timeout = timeout; | ||
} | ||
// Set up graceful stop for http server | ||
@@ -116,0 +157,0 @@ if (typeof this.serverOptions.gracePeriodForClose === 'number') { |
Sorry, the diff of this file is not supported yet
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
50373
582
Updateddebug@^4.2.0
Updatedtslib@^2.0.2