routup 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/accessors.d.ts +15 -0
- package/dist/config/accessors.d.ts.map +1 -0
- package/dist/config/accessors.js +32 -0
- package/dist/config/accessors.js.map +1 -0
- package/dist/config/index.d.ts +5 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +27 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/module.d.ts +20 -0
- package/dist/config/module.d.ts.map +1 -0
- package/dist/config/module.js +65 -0
- package/dist/config/module.js.map +1 -0
- package/dist/config/singleton.d.ts +4 -0
- package/dist/config/singleton.d.ts.map +1 -0
- package/dist/config/singleton.js +35 -0
- package/dist/config/singleton.js.map +1 -0
- package/dist/config/type.d.ts +66 -0
- package/dist/config/type.d.ts.map +1 -0
- package/dist/config/type.js +9 -0
- package/dist/config/type.js.map +1 -0
- package/dist/config/utils/defaults.d.ts +3 -0
- package/dist/config/utils/defaults.d.ts.map +1 -0
- package/dist/config/utils/defaults.js +23 -0
- package/dist/config/utils/defaults.js.map +1 -0
- package/dist/config/utils/etag.d.ts +3 -0
- package/dist/config/utils/etag.d.ts.map +1 -0
- package/dist/config/utils/etag.js +43 -0
- package/dist/config/utils/etag.js.map +1 -0
- package/dist/config/utils/index.d.ts +4 -0
- package/dist/config/utils/index.d.ts.map +1 -0
- package/dist/config/utils/index.js +26 -0
- package/dist/config/utils/index.js.map +1 -0
- package/dist/config/utils/trust-proxy.d.ts +3 -0
- package/dist/config/utils/trust-proxy.d.ts.map +1 -0
- package/dist/config/utils/trust-proxy.js +31 -0
- package/dist/config/utils/trust-proxy.js.map +1 -0
- package/dist/constants.d.ts +5 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +4 -0
- package/dist/constants.js.map +1 -1
- package/dist/helpers/request/hostname.d.ts +8 -0
- package/dist/helpers/request/hostname.d.ts.map +1 -0
- package/dist/helpers/request/hostname.js +46 -0
- package/dist/helpers/request/hostname.js.map +1 -0
- package/dist/helpers/request/index.d.ts +3 -0
- package/dist/helpers/request/index.d.ts.map +1 -1
- package/dist/helpers/request/index.js +3 -0
- package/dist/helpers/request/index.js.map +1 -1
- package/dist/helpers/request/ip.d.ts +8 -0
- package/dist/helpers/request/ip.d.ts.map +1 -0
- package/dist/helpers/request/ip.js +29 -0
- package/dist/helpers/request/ip.js.map +1 -0
- package/dist/helpers/request/protocol.d.ts +9 -0
- package/dist/helpers/request/protocol.d.ts.map +1 -0
- package/dist/helpers/request/protocol.js +50 -0
- package/dist/helpers/request/protocol.js.map +1 -0
- package/dist/helpers/response/send.js +11 -14
- package/dist/helpers/response/send.js.map +1 -1
- package/dist/layer/module.d.ts.map +1 -1
- package/dist/layer/module.js +17 -2
- package/dist/layer/module.js.map +1 -1
- package/dist/route/module.d.ts.map +1 -1
- package/dist/route/module.js +3 -1
- package/dist/route/module.js.map +1 -1
- package/dist/router/module.d.ts.map +1 -1
- package/dist/router/module.js +14 -8
- package/dist/router/module.js.map +1 -1
- package/dist/type.d.ts +1 -0
- package/dist/type.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/request.d.ts +3 -0
- package/dist/utils/request.d.ts.map +1 -0
- package/dist/utils/{response.js → request.js} +7 -6
- package/dist/utils/request.js.map +1 -0
- package/package.json +6 -4
- package/dist/utils/response.d.ts +0 -3
- package/dist/utils/response.d.ts.map +0 -1
- package/dist/utils/response.js.map +0 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ConfigOptions, ConfigOptionsInput } from './type';
|
|
2
|
+
/**
|
|
3
|
+
* Fast set config option accessor.
|
|
4
|
+
*
|
|
5
|
+
* @param key
|
|
6
|
+
* @param value
|
|
7
|
+
*/
|
|
8
|
+
export declare function setConfigOption<K extends keyof ConfigOptionsInput>(key: K, value: ConfigOptionsInput[K]): void;
|
|
9
|
+
/**
|
|
10
|
+
* Fast get config option accessor.
|
|
11
|
+
*
|
|
12
|
+
* @param key
|
|
13
|
+
*/
|
|
14
|
+
export declare function getConfigOption<K extends keyof ConfigOptions>(key: K): ConfigOptions[K];
|
|
15
|
+
//# sourceMappingURL=accessors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accessors.d.ts","sourceRoot":"","sources":["../../src/config/accessors.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE3D;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,QAIvG;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,aAAa,EAAE,GAAG,EAAE,CAAC,GAAI,aAAa,CAAC,CAAC,CAAC,CAIxF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022.
|
|
4
|
+
* Author Peter Placzek (tada5hi)
|
|
5
|
+
* For the full copyright and license information,
|
|
6
|
+
* view the LICENSE file that was distributed with this source code.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.getConfigOption = exports.setConfigOption = void 0;
|
|
10
|
+
const singleton_1 = require("./singleton");
|
|
11
|
+
/**
|
|
12
|
+
* Fast set config option accessor.
|
|
13
|
+
*
|
|
14
|
+
* @param key
|
|
15
|
+
* @param value
|
|
16
|
+
*/
|
|
17
|
+
function setConfigOption(key, value) {
|
|
18
|
+
const config = (0, singleton_1.useConfig)();
|
|
19
|
+
config.set(key, value);
|
|
20
|
+
}
|
|
21
|
+
exports.setConfigOption = setConfigOption;
|
|
22
|
+
/**
|
|
23
|
+
* Fast get config option accessor.
|
|
24
|
+
*
|
|
25
|
+
* @param key
|
|
26
|
+
*/
|
|
27
|
+
function getConfigOption(key) {
|
|
28
|
+
const config = (0, singleton_1.useConfig)();
|
|
29
|
+
return config.get(key);
|
|
30
|
+
}
|
|
31
|
+
exports.getConfigOption = getConfigOption;
|
|
32
|
+
//# sourceMappingURL=accessors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accessors.js","sourceRoot":"","sources":["../../src/config/accessors.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,2CAAwC;AAGxC;;;;;GAKG;AACH,SAAgB,eAAe,CAAqC,GAAM,EAAE,KAA4B;IACpG,MAAM,MAAM,GAAG,IAAA,qBAAS,GAAE,CAAC;IAE3B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC3B,CAAC;AAJD,0CAIC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAgC,GAAM;IACjE,MAAM,MAAM,GAAG,IAAA,qBAAS,GAAE,CAAC;IAE3B,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAJD,0CAIC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAOA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022.
|
|
4
|
+
* Author Peter Placzek (tada5hi)
|
|
5
|
+
* For the full copyright and license information,
|
|
6
|
+
* view the LICENSE file that was distributed with this source code.
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
20
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
__exportStar(require("./accessors"), exports);
|
|
24
|
+
__exportStar(require("./module"), exports);
|
|
25
|
+
__exportStar(require("./singleton"), exports);
|
|
26
|
+
__exportStar(require("./type"), exports);
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,8CAA4B;AAC5B,2CAAyB;AACzB,8CAA4B;AAC5B,yCAAuB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ObjectLiteral } from '../type';
|
|
2
|
+
import { ConfigContext, ConfigOptionsTransformer } from './type';
|
|
3
|
+
export declare class Config<O extends ObjectLiteral, I extends {
|
|
4
|
+
[T in keyof O]?: any;
|
|
5
|
+
} = O> {
|
|
6
|
+
protected options: Partial<O>;
|
|
7
|
+
protected defaults: O;
|
|
8
|
+
protected transformer: ConfigOptionsTransformer<O>;
|
|
9
|
+
constructor(context: ConfigContext<O>);
|
|
10
|
+
set<K extends keyof O>(key: K, value: I[K]): this;
|
|
11
|
+
has(key: keyof O): boolean;
|
|
12
|
+
reset(): this;
|
|
13
|
+
reset(key: keyof O): this;
|
|
14
|
+
reset(keys: (keyof O)[]): this;
|
|
15
|
+
get<K extends keyof O>(key: K): O[K];
|
|
16
|
+
getRaw<K extends keyof O>(key: K): O[K] | undefined;
|
|
17
|
+
setDefault<K extends keyof O>(key: K, value: I[K]): this;
|
|
18
|
+
getDefault<K extends keyof O>(key: K): O[K];
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/config/module.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAEjE,qBAAa,MAAM,CACf,CAAC,SAAS,aAAa,EACvB,CAAC,SAAS;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG;CAAE,GAAG,CAAC;IAEtC,SAAS,CAAC,OAAO,EAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE/B,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEtB,SAAS,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC;gBAIvC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IAQrC,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAI,IAAI;IAMlD,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAI,OAAO;IAM3B,KAAK,IAAK,IAAI;IAEd,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,GAAI,IAAI;IAE1B,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAI,IAAI;IAyB/B,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAI,CAAC,CAAC,CAAC,CAAC;IAQrC,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAI,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;IAUpD,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAI,IAAI;IAMzD,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAI,CAAC,CAAC,CAAC,CAAC;CAG/C"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022-2022.
|
|
4
|
+
* Author Peter Placzek (tada5hi)
|
|
5
|
+
* For the full copyright and license information,
|
|
6
|
+
* view the LICENSE file that was distributed with this source code.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.Config = void 0;
|
|
10
|
+
const smob_1 = require("smob");
|
|
11
|
+
class Config {
|
|
12
|
+
// -------------------------------------------------
|
|
13
|
+
constructor(context) {
|
|
14
|
+
this.options = context.options || {};
|
|
15
|
+
this.defaults = context.defaults;
|
|
16
|
+
this.transformer = context.transform;
|
|
17
|
+
}
|
|
18
|
+
// -------------------------------------------------
|
|
19
|
+
set(key, value) {
|
|
20
|
+
this.options[key] = this.transformer(key, value);
|
|
21
|
+
return this;
|
|
22
|
+
}
|
|
23
|
+
has(key) {
|
|
24
|
+
return (0, smob_1.hasOwnProperty)(this.options, key);
|
|
25
|
+
}
|
|
26
|
+
reset(key) {
|
|
27
|
+
if (typeof key === 'undefined') {
|
|
28
|
+
this.options = {};
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
if (Array.isArray(key)) {
|
|
32
|
+
for (let i = 0; i < key.length; i++) {
|
|
33
|
+
this.reset(key[i]);
|
|
34
|
+
}
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
if ((0, smob_1.hasOwnProperty)(this.options, key)) {
|
|
38
|
+
delete this.options[key];
|
|
39
|
+
}
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
42
|
+
// ----------------------------------------------
|
|
43
|
+
get(key) {
|
|
44
|
+
if ((0, smob_1.hasOwnProperty)(this.options, key)) {
|
|
45
|
+
return this.options[key];
|
|
46
|
+
}
|
|
47
|
+
return this.defaults[key];
|
|
48
|
+
}
|
|
49
|
+
getRaw(key) {
|
|
50
|
+
if ((0, smob_1.hasOwnProperty)(this.options, key)) {
|
|
51
|
+
return this.options[key];
|
|
52
|
+
}
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
// -------------------------------------------------
|
|
56
|
+
setDefault(key, value) {
|
|
57
|
+
this.defaults[key] = this.transformer(key, value);
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
getDefault(key) {
|
|
61
|
+
return this.defaults[key];
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.Config = Config;
|
|
65
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/config/module.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,+BAAsC;AAItC,MAAa,MAAM;IAUf,oDAAoD;IAEpD,YAAY,OAAyB;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IACzC,CAAC;IAED,oDAAoD;IAEpD,GAAG,CAAoB,GAAM,EAAE,KAAW;QACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,GAAY;QACZ,OAAO,IAAA,qBAAc,EAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAUD,KAAK,CAAC,GAA6B;QAC/B,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE;YAC5B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;SACf;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACjC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACtB;YAED,OAAO,IAAI,CAAC;SACf;QAED,IAAI,IAAA,qBAAc,EAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YACnC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC5B;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iDAAiD;IAEjD,GAAG,CAAoB,GAAM;QACzB,IAAI,IAAA,qBAAc,EAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YACnC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAS,CAAC;SACpC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAoB,GAAM;QAC5B,IAAI,IAAA,qBAAc,EAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YACnC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAS,CAAC;SACpC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,oDAAoD;IAEpD,UAAU,CAAoB,GAAM,EAAE,KAAW;QAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAS,CAAC;QAE1D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAoB,GAAM;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;CACJ;AAxFD,wBAwFC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"singleton.d.ts","sourceRoot":"","sources":["../../src/config/singleton.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAK3D,wBAAgB,SAAS,IAAK,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAsBtE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2021.
|
|
4
|
+
* Author Peter Placzek (tada5hi)
|
|
5
|
+
* For the full copyright and license information,
|
|
6
|
+
* view the LICENSE file that was distributed with this source code.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.useConfig = void 0;
|
|
10
|
+
const module_1 = require("./module");
|
|
11
|
+
const utils_1 = require("./utils");
|
|
12
|
+
let instance;
|
|
13
|
+
function useConfig() {
|
|
14
|
+
if (typeof instance !== 'undefined') {
|
|
15
|
+
return instance;
|
|
16
|
+
}
|
|
17
|
+
instance = new module_1.Config({
|
|
18
|
+
defaults: (0, utils_1.buildConfigDefaultOptions)(),
|
|
19
|
+
transform: (key, value) => {
|
|
20
|
+
switch (key) {
|
|
21
|
+
/* istanbul ignore next */
|
|
22
|
+
case 'etag':
|
|
23
|
+
return (0, utils_1.buildConfigEtagOption)(value);
|
|
24
|
+
/* istanbul ignore next */
|
|
25
|
+
case 'trustProxy':
|
|
26
|
+
return (0, utils_1.buildConfigTrustProxyOption)(value);
|
|
27
|
+
default:
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
return instance;
|
|
33
|
+
}
|
|
34
|
+
exports.useConfig = useConfig;
|
|
35
|
+
//# sourceMappingURL=singleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"singleton.js","sourceRoot":"","sources":["../../src/config/singleton.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,qCAAkC;AAElC,mCAAwG;AAExG,IAAI,QAAgE,CAAC;AAErE,SAAgB,SAAS;IACrB,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;QACjC,OAAO,QAAQ,CAAC;KACnB;IAED,QAAQ,GAAG,IAAI,eAAM,CAAoC;QACrD,QAAQ,EAAE,IAAA,iCAAyB,GAAE;QACrC,SAAS,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACtB,QAAQ,GAAG,EAAE;gBACT,0BAA0B;gBAC1B,KAAK,MAAM;oBACP,OAAO,IAAA,6BAAqB,EAAC,KAAK,CAAC,CAAC;gBACxC,0BAA0B;gBAC1B,KAAK,YAAY;oBACb,OAAO,IAAA,mCAA2B,EAAC,KAAK,CAAC,CAAC;gBAC9C;oBACI,OAAO,KAAK,CAAC;aACpB;QACL,CAAC;KACJ,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AACpB,CAAC;AAtBD,8BAsBC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Options as EtagBaseOptions } from 'etag';
|
|
3
|
+
import { ObjectLiteral } from '../type';
|
|
4
|
+
export type EtagOptions = EtagBaseOptions & {
|
|
5
|
+
/**
|
|
6
|
+
* Threshold of bytes from which an etag is generated.
|
|
7
|
+
*
|
|
8
|
+
* default: undefined
|
|
9
|
+
*/
|
|
10
|
+
threshold?: number;
|
|
11
|
+
};
|
|
12
|
+
export type EtagFn = (body: any, encoding?: BufferEncoding, size?: number) => string | undefined;
|
|
13
|
+
export type EtagInput = boolean | EtagOptions | EtagFn;
|
|
14
|
+
export type TrustProxyFn = (address: string, hop: number) => boolean;
|
|
15
|
+
export type TrustProxyInput = boolean | number | string | string[] | TrustProxyFn;
|
|
16
|
+
export type ConfigOptions = {
|
|
17
|
+
/**
|
|
18
|
+
* default: process.NODE_ENV
|
|
19
|
+
*/
|
|
20
|
+
env: string;
|
|
21
|
+
/**
|
|
22
|
+
* default: () => false
|
|
23
|
+
*/
|
|
24
|
+
trustProxy: TrustProxyFn;
|
|
25
|
+
/**
|
|
26
|
+
* default: 2
|
|
27
|
+
*/
|
|
28
|
+
subdomainOffset: number;
|
|
29
|
+
/**
|
|
30
|
+
* default: () => true
|
|
31
|
+
*/
|
|
32
|
+
etag: EtagFn;
|
|
33
|
+
/**
|
|
34
|
+
* Default: X-Forwarded-For
|
|
35
|
+
*/
|
|
36
|
+
proxyIpHeader: string;
|
|
37
|
+
/**
|
|
38
|
+
* default: 0
|
|
39
|
+
*/
|
|
40
|
+
proxyIpMax?: number;
|
|
41
|
+
/**
|
|
42
|
+
* default: true
|
|
43
|
+
*/
|
|
44
|
+
caseSensitive: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* default: request-id
|
|
47
|
+
*/
|
|
48
|
+
requestIdHeader: string;
|
|
49
|
+
};
|
|
50
|
+
export type ConfigOptionsInput = {
|
|
51
|
+
/**
|
|
52
|
+
* default: true
|
|
53
|
+
*/
|
|
54
|
+
etag?: EtagInput;
|
|
55
|
+
/**
|
|
56
|
+
* default: false
|
|
57
|
+
*/
|
|
58
|
+
trustProxy?: TrustProxyInput;
|
|
59
|
+
} & Partial<Omit<ConfigOptions, 'etag' | 'trustProxy'>>;
|
|
60
|
+
export type ConfigOptionsTransformer<T extends ObjectLiteral, K extends keyof T = keyof T> = (key: K, value: any) => T[K];
|
|
61
|
+
export type ConfigContext<T extends ObjectLiteral> = {
|
|
62
|
+
defaults: T;
|
|
63
|
+
options?: Partial<T>;
|
|
64
|
+
transform: ConfigOptionsTransformer<T>;
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/config/type.ts"],"names":[],"mappings":";AAOA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG;IACxC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AACjG,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;AAEvD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;AACrE,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,YAAY,CAAC;AAElF,MAAM,MAAM,aAAa,GAAG;IACxB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,UAAU,EAAE,YAAY,CAAC;IACzB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;CAChC,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC;AAExD,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS,aAAa,EACxD,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,IACvB,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAErC,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,aAAa,IAAI;IACjD,QAAQ,EAAE,CAAC,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACrB,SAAS,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAA;CACzC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022-2022.
|
|
4
|
+
* Author Peter Placzek (tada5hi)
|
|
5
|
+
* For the full copyright and license information,
|
|
6
|
+
* view the LICENSE file that was distributed with this source code.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
//# sourceMappingURL=type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/config/type.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/config/utils/defaults.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC,wBAAgB,yBAAyB,IAAK,aAAa,CAU1D"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022-2022.
|
|
4
|
+
* Author Peter Placzek (tada5hi)
|
|
5
|
+
* For the full copyright and license information,
|
|
6
|
+
* view the LICENSE file that was distributed with this source code.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.buildConfigDefaultOptions = void 0;
|
|
10
|
+
const etag_1 = require("./etag");
|
|
11
|
+
function buildConfigDefaultOptions() {
|
|
12
|
+
return {
|
|
13
|
+
env: process.env.NODE_ENV || 'development',
|
|
14
|
+
trustProxy: () => false,
|
|
15
|
+
subdomainOffset: 2,
|
|
16
|
+
etag: (0, etag_1.buildConfigEtagOption)(),
|
|
17
|
+
proxyIpHeader: 'X-Forwarded-For',
|
|
18
|
+
caseSensitive: true,
|
|
19
|
+
requestIdHeader: 'request-id',
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
exports.buildConfigDefaultOptions = buildConfigDefaultOptions;
|
|
23
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/config/utils/defaults.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,iCAA+C;AAE/C,SAAgB,yBAAyB;IACrC,OAAO;QACH,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa;QAC1C,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK;QACvB,eAAe,EAAE,CAAC;QAClB,IAAI,EAAE,IAAA,4BAAqB,GAAE;QAC7B,aAAa,EAAE,iBAAiB;QAChC,aAAa,EAAE,IAAI;QACnB,eAAe,EAAE,YAAY;KAChC,CAAC;AACN,CAAC;AAVD,8DAUC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"etag.d.ts","sourceRoot":"","sources":["../../../src/config/utils/etag.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE9C,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,GAAI,MAAM,CAkCrF"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022.
|
|
4
|
+
* Author Peter Placzek (tada5hi)
|
|
5
|
+
* For the full copyright and license information,
|
|
6
|
+
* view the LICENSE file that was distributed with this source code.
|
|
7
|
+
*/
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.buildConfigEtagOption = void 0;
|
|
13
|
+
const etag_1 = __importDefault(require("etag"));
|
|
14
|
+
const smob_1 = require("smob");
|
|
15
|
+
function buildConfigEtagOption(input) {
|
|
16
|
+
if (typeof input === 'function') {
|
|
17
|
+
return input;
|
|
18
|
+
}
|
|
19
|
+
input = input !== null && input !== void 0 ? input : true;
|
|
20
|
+
if (input === false) {
|
|
21
|
+
return () => undefined;
|
|
22
|
+
}
|
|
23
|
+
let options = {
|
|
24
|
+
weak: true,
|
|
25
|
+
};
|
|
26
|
+
if ((0, smob_1.isObject)(input)) {
|
|
27
|
+
options = (0, smob_1.merge)(input, options);
|
|
28
|
+
}
|
|
29
|
+
return (body, encoding, size) => {
|
|
30
|
+
const buff = Buffer.isBuffer(body) ?
|
|
31
|
+
body :
|
|
32
|
+
Buffer.from(body, encoding);
|
|
33
|
+
if (typeof options.threshold !== 'undefined') {
|
|
34
|
+
size = size !== null && size !== void 0 ? size : Buffer.byteLength(buff);
|
|
35
|
+
if (size <= options.threshold) {
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return (0, etag_1.default)(buff, options);
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
exports.buildConfigEtagOption = buildConfigEtagOption;
|
|
43
|
+
//# sourceMappingURL=etag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"etag.js","sourceRoot":"","sources":["../../../src/config/utils/etag.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;AAEH,gDAAwB;AACxB,+BAAuC;AAGvC,SAAgB,qBAAqB,CAAC,KAAsC;IACxE,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC7B,OAAO,KAAK,CAAC;KAChB;IAED,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC;IAEtB,IAAI,KAAK,KAAK,KAAK,EAAE;QACjB,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;KAC1B;IAED,IAAI,OAAO,GAAiB;QACxB,IAAI,EAAE,IAAI;KACb,CAAC;IAEF,IAAI,IAAA,eAAQ,EAAC,KAAK,CAAC,EAAE;QACjB,OAAO,GAAG,IAAA,YAAK,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KACnC;IAED,OAAO,CAAC,IAAS,EAAE,QAAyB,EAAE,IAAa,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEhC,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,WAAW,EAAE;YAC1C,IAAI,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEvC,IAAI,IAAI,IAAI,OAAO,CAAC,SAAS,EAAE;gBAC3B,OAAO,SAAS,CAAC;aACpB;SACJ;QAED,OAAO,IAAA,cAAI,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC,CAAC;AACN,CAAC;AAlCD,sDAkCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/utils/index.ts"],"names":[],"mappings":"AAOA,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022.
|
|
4
|
+
* Author Peter Placzek (tada5hi)
|
|
5
|
+
* For the full copyright and license information,
|
|
6
|
+
* view the LICENSE file that was distributed with this source code.
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
20
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
__exportStar(require("./defaults"), exports);
|
|
24
|
+
__exportStar(require("./etag"), exports);
|
|
25
|
+
__exportStar(require("./trust-proxy"), exports);
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,6CAA2B;AAC3B,yCAAuB;AACvB,gDAA8B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trust-proxy.d.ts","sourceRoot":"","sources":["../../../src/config/utils/trust-proxy.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,wBAAgB,2BAA2B,CACvC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,YAAY,GAC3D,YAAY,CAmBf"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022.
|
|
4
|
+
* Author Peter Placzek (tada5hi)
|
|
5
|
+
* For the full copyright and license information,
|
|
6
|
+
* view the LICENSE file that was distributed with this source code.
|
|
7
|
+
*/
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.buildConfigTrustProxyOption = void 0;
|
|
13
|
+
const proxy_addr_1 = __importDefault(require("proxy-addr"));
|
|
14
|
+
function buildConfigTrustProxyOption(input) {
|
|
15
|
+
if (typeof input === 'function') {
|
|
16
|
+
return input;
|
|
17
|
+
}
|
|
18
|
+
if (input === true) {
|
|
19
|
+
return () => true;
|
|
20
|
+
}
|
|
21
|
+
if (typeof input === 'number') {
|
|
22
|
+
return (address, hop) => hop < input;
|
|
23
|
+
}
|
|
24
|
+
if (typeof input === 'string') {
|
|
25
|
+
input = input.split(',')
|
|
26
|
+
.map((value) => value.trim());
|
|
27
|
+
}
|
|
28
|
+
return proxy_addr_1.default.compile(input || []);
|
|
29
|
+
}
|
|
30
|
+
exports.buildConfigTrustProxyOption = buildConfigTrustProxyOption;
|
|
31
|
+
//# sourceMappingURL=trust-proxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trust-proxy.js","sourceRoot":"","sources":["../../../src/config/utils/trust-proxy.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;AAEH,4DAAmC;AAGnC,SAAgB,2BAA2B,CACvC,KAA2D;IAE3D,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC7B,OAAO,KAAK,CAAC;KAChB;IAED,IAAI,KAAK,KAAK,IAAI,EAAE;QAChB,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;KACrB;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAI,KAAgB,CAAC;KACpD;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;aACnB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;KACrC;IAED,OAAO,oBAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;AAC1C,CAAC;AArBD,kEAqBC"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -19,8 +19,12 @@ export declare enum HeaderName {
|
|
|
19
19
|
CONTENT_LENGTH = "content-length",
|
|
20
20
|
CONTENT_TYPE = "content-type",
|
|
21
21
|
COOKIE = "cookie",
|
|
22
|
+
HOST = "host",
|
|
22
23
|
LAST_MODIFIED = "last-modified",
|
|
23
24
|
LOCATION = "location",
|
|
24
|
-
SET_COOKIE = "set-cookie"
|
|
25
|
+
SET_COOKIE = "set-cookie",
|
|
26
|
+
X_FORWARDED_HOST = "x-forwarded-host",
|
|
27
|
+
X_FORWARDED_FOR = "x-forwarded-for",
|
|
28
|
+
X_FORWARDED_PROTO = "x-forwarded-proto"
|
|
25
29
|
}
|
|
26
30
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAOA,oBAAY,MAAM;IACd,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,IAAI,SAAS;CAChB;AAED,oBAAY,UAAU;IAClB,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,KAAK,UAAU;IACf,aAAa,kBAAkB;IAC/B,mBAAmB,wBAAwB;IAC3C,gBAAgB,qBAAqB;IACrC,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,aAAa,kBAAkB;IAC/B,QAAQ,aAAa;IACrB,UAAU,eAAe;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAOA,oBAAY,MAAM;IACd,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,IAAI,SAAS;CAChB;AAED,oBAAY,UAAU;IAClB,MAAM,WAAW;IACjB,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,KAAK,UAAU;IACf,aAAa,kBAAkB;IAC/B,mBAAmB,wBAAwB;IAC3C,gBAAgB,qBAAqB;IACrC,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,aAAa,kBAAkB;IAC/B,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;CAC1C"}
|
package/dist/constants.js
CHANGED
|
@@ -30,8 +30,12 @@ var HeaderName;
|
|
|
30
30
|
HeaderName["CONTENT_LENGTH"] = "content-length";
|
|
31
31
|
HeaderName["CONTENT_TYPE"] = "content-type";
|
|
32
32
|
HeaderName["COOKIE"] = "cookie";
|
|
33
|
+
HeaderName["HOST"] = "host";
|
|
33
34
|
HeaderName["LAST_MODIFIED"] = "last-modified";
|
|
34
35
|
HeaderName["LOCATION"] = "location";
|
|
35
36
|
HeaderName["SET_COOKIE"] = "set-cookie";
|
|
37
|
+
HeaderName["X_FORWARDED_HOST"] = "x-forwarded-host";
|
|
38
|
+
HeaderName["X_FORWARDED_FOR"] = "x-forwarded-for";
|
|
39
|
+
HeaderName["X_FORWARDED_PROTO"] = "x-forwarded-proto";
|
|
36
40
|
})(HeaderName = exports.HeaderName || (exports.HeaderName = {}));
|
|
37
41
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,IAAY,MAQX;AARD,WAAY,MAAM;IACd,qBAAW,CAAA;IACX,uBAAa,CAAA;IACb,qBAAW,CAAA;IACX,yBAAe,CAAA;IACf,2BAAiB,CAAA;IACjB,6BAAmB,CAAA;IACnB,uBAAa,CAAA;AACjB,CAAC,EARW,MAAM,GAAN,cAAM,KAAN,cAAM,QAQjB;AAED,IAAY,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,IAAY,MAQX;AARD,WAAY,MAAM;IACd,qBAAW,CAAA;IACX,uBAAa,CAAA;IACb,qBAAW,CAAA;IACX,yBAAe,CAAA;IACf,2BAAiB,CAAA;IACjB,6BAAmB,CAAA;IACnB,uBAAa,CAAA;AACjB,CAAC,EARW,MAAM,GAAN,cAAM,KAAN,cAAM,QAQjB;AAED,IAAY,UAmBX;AAnBD,WAAY,UAAU;IAClB,+BAAiB,CAAA;IACjB,+CAAiC,CAAA;IACjC,iDAAmC,CAAA;IACnC,iDAAmC,CAAA;IACnC,6BAAe,CAAA;IACf,6CAA+B,CAAA;IAC/B,yDAA2C,CAAA;IAC3C,mDAAqC,CAAA;IACrC,+CAAiC,CAAA;IACjC,2CAA6B,CAAA;IAC7B,+BAAiB,CAAA;IACjB,2BAAa,CAAA;IACb,6CAA+B,CAAA;IAC/B,mCAAqB,CAAA;IACrB,uCAAyB,CAAA;IACzB,mDAAqC,CAAA;IACrC,iDAAmC,CAAA;IACnC,qDAAuC,CAAA;AAC3C,CAAC,EAnBW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAmBrB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TrustProxyInput } from '../../config';
|
|
2
|
+
import { Request } from '../../type';
|
|
3
|
+
type RequestHostNameOptions = {
|
|
4
|
+
trustProxy?: TrustProxyInput;
|
|
5
|
+
};
|
|
6
|
+
export declare function getRequestHostName(req: Request, options?: RequestHostNameOptions): string | undefined;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=hostname.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostname.d.ts","sourceRoot":"","sources":["../../../src/helpers/request/hostname.ts"],"names":[],"mappings":"AAOA,OAAO,EAAgB,eAAe,EAAa,MAAM,cAAc,CAAC;AAGxE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,KAAK,sBAAsB,GAAG;IAC1B,UAAU,CAAC,EAAE,eAAe,CAAA;CAC/B,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAI,MAAM,GAAG,SAAS,CAkCtG"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022.
|
|
4
|
+
* Author Peter Placzek (tada5hi)
|
|
5
|
+
* For the full copyright and license information,
|
|
6
|
+
* view the LICENSE file that was distributed with this source code.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.getRequestHostName = void 0;
|
|
10
|
+
const config_1 = require("../../config");
|
|
11
|
+
const utils_1 = require("../../config/utils");
|
|
12
|
+
const constants_1 = require("../../constants");
|
|
13
|
+
function getRequestHostName(req, options) {
|
|
14
|
+
options = options || {};
|
|
15
|
+
let trustProxy;
|
|
16
|
+
if (typeof options.trustProxy !== 'undefined') {
|
|
17
|
+
trustProxy = (0, utils_1.buildConfigTrustProxyOption)(options.trustProxy);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
const config = (0, config_1.useConfig)();
|
|
21
|
+
trustProxy = config.get('trustProxy');
|
|
22
|
+
}
|
|
23
|
+
let hostname = req.headers[constants_1.HeaderName.X_FORWARDED_HOST];
|
|
24
|
+
if (!hostname || !req.socket.remoteAddress || !trustProxy(req.socket.remoteAddress, 0)) {
|
|
25
|
+
hostname = req.headers[constants_1.HeaderName.HOST];
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
hostname = Array.isArray(hostname) ? hostname.pop() : hostname;
|
|
29
|
+
if (hostname && hostname.indexOf(',') !== -1) {
|
|
30
|
+
hostname = hostname.substring(0, hostname.indexOf(',')).trimEnd();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (!hostname) {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
// IPv6 literal support
|
|
37
|
+
const offset = hostname[0] === '[' ?
|
|
38
|
+
hostname.indexOf(']') + 1 :
|
|
39
|
+
0;
|
|
40
|
+
const index = hostname.indexOf(':', offset);
|
|
41
|
+
return index !== -1 ?
|
|
42
|
+
hostname.substring(0, index) :
|
|
43
|
+
hostname;
|
|
44
|
+
}
|
|
45
|
+
exports.getRequestHostName = getRequestHostName;
|
|
46
|
+
//# sourceMappingURL=hostname.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostname.js","sourceRoot":"","sources":["../../../src/helpers/request/hostname.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,yCAAwE;AACxE,8CAAiE;AACjE,+CAA6C;AAO7C,SAAgB,kBAAkB,CAAC,GAAY,EAAE,OAAgC;IAC7E,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAExB,IAAI,UAAyB,CAAC;IAC9B,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,WAAW,EAAE;QAC3C,UAAU,GAAG,IAAA,mCAA2B,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC;KAChE;SAAM;QACH,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;QAC3B,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;KACzC;IAED,IAAI,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,sBAAU,CAAC,gBAAgB,CAAC,CAAC;IACxD,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE;QACpF,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,sBAAU,CAAC,IAAI,CAAC,CAAC;KAC3C;SAAM;QACH,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/D,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;YAC1C,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACrE;KACJ;IAED,IAAI,CAAC,QAAQ,EAAE;QACX,OAAO,SAAS,CAAC;KACpB;IAED,uBAAuB;IACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QAChC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC;IACN,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAE5C,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QAC9B,QAAQ,CAAC;AACjB,CAAC;AAlCD,gDAkCC"}
|
|
@@ -6,8 +6,11 @@ export * from './header-accept-charset';
|
|
|
6
6
|
export * from './header-accept-encoding';
|
|
7
7
|
export * from './header-accept-language';
|
|
8
8
|
export * from './header-content-type';
|
|
9
|
+
export * from './hostname';
|
|
10
|
+
export * from './ip';
|
|
9
11
|
export * from './mount-path';
|
|
10
12
|
export * from './negotiator';
|
|
11
13
|
export * from './params';
|
|
14
|
+
export * from './protocol';
|
|
12
15
|
export * from './path';
|
|
13
16
|
//# sourceMappingURL=index.d.ts.map
|