quidproquo-webserver
Advanced tools
Comparing version 0.0.169 to 0.0.170
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
// type ParseParamType<S extends string> = S extends `${infer ParamName}:number` | ||
// ? { name: ParamName; type: number } | ||
// : S extends `${infer ParamName}:int` | ||
// ? { name: ParamName; type: number } | ||
// : S extends `${infer ParamName}:boolean` | ||
// ? { name: ParamName; type: boolean } | ||
// : { name: S; type: string }; | ||
// type ExtractRouteParams< | ||
// S extends string, | ||
// Prev extends Record<string, any> = {} | ||
// > = string extends S | ||
// ? Record<string, string | number | boolean> | ||
// : S extends `${infer _Start}{${infer Param}}${infer Rest}` | ||
// ? ExtractRouteParams< | ||
// Rest, | ||
// Prev & { | ||
// [K in ParseParamType<Param>['name']]: ParseParamType<Param>['type']; | ||
// } | ||
// > | ||
// : Prev; | ||
// type ExampleParams = | ||
// ExtractRouteParams<'template/{code}/version/{version:number}/{myBool:boolean}/{myInt:int}'>; |
@@ -1,5 +0,7 @@ | ||
import { QPQConfig } from 'quidproquo-core'; | ||
import { HttpEventHeaders } from '../types/HTTPEvent'; | ||
import { AskResponse, QPQConfig } from 'quidproquo-core'; | ||
import { HTTPEvent, HttpEventHeaders } from '../types/HTTPEvent'; | ||
import { RouteOptions, ServiceAllowedOrigin } from '../config/settings/route'; | ||
export declare const getHeaderValue: (header: string, headers: HttpEventHeaders) => string | null; | ||
export declare function askReadRequiredHeader(event: HTTPEvent, requiredHeader: string): AskResponse<string>; | ||
export declare function askReadRequiredHeaders(event: HTTPEvent, requiredHeaders: string[]): AskResponse<string[]>; | ||
export declare const getAccessTokenFromHeaders: (headers: HttpEventHeaders) => string | undefined; | ||
@@ -6,0 +8,0 @@ export declare const convertContentSecurityPolicyEntryToString: (baseDomain: string, allowedOrigin: ServiceAllowedOrigin | string) => string; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getCorsHeaders = exports.getAllowedOrigins = exports.convertContentSecurityPolicyEntryToString = exports.getAccessTokenFromHeaders = exports.getHeaderValue = void 0; | ||
exports.getCorsHeaders = exports.getAllowedOrigins = exports.convertContentSecurityPolicyEntryToString = exports.getAccessTokenFromHeaders = exports.askReadRequiredHeaders = exports.askReadRequiredHeader = exports.getHeaderValue = void 0; | ||
const quidproquo_core_1 = require("quidproquo-core"); | ||
const qpqConfigAccessorsUtils_1 = require("./qpqConfigAccessorsUtils"); | ||
@@ -15,2 +16,16 @@ const qpqWebServerUtils_1 = require("../qpqWebServerUtils"); | ||
exports.getHeaderValue = getHeaderValue; | ||
function* askReadRequiredHeader(event, requiredHeader) { | ||
const header = (0, exports.getHeaderValue)(requiredHeader, event.headers); | ||
if (!header) { | ||
return yield* (0, quidproquo_core_1.askThrowError)(quidproquo_core_1.ErrorTypeEnum.NotFound, `Header ${requiredHeader} not found`); | ||
} | ||
return header; | ||
} | ||
exports.askReadRequiredHeader = askReadRequiredHeader; | ||
function* askReadRequiredHeaders(event, requiredHeaders) { | ||
return yield* (0, quidproquo_core_1.askMap)(requiredHeaders, function* (header) { | ||
return yield* askReadRequiredHeader(event, header); | ||
}); | ||
} | ||
exports.askReadRequiredHeaders = askReadRequiredHeaders; | ||
const getAccessTokenFromHeaders = (headers) => { | ||
@@ -41,11 +56,10 @@ const authorizationHeader = (0, exports.getHeaderValue)('authorization', headers) || ''; | ||
const defaultRouteSettings = qpqWebServerUtils_1.qpqWebServerUtils.getDefaultRouteSettings(qpqConfig); | ||
const defaultAllowedOrigins = defaultRouteSettings.reduce((acc, cur) => [...acc, ...(cur.routeOptions.allowedOrigins || []).map(ao => (0, exports.convertContentSecurityPolicyEntryToString)(baseDomain, ao))], []); | ||
const defaultAllowedOrigins = defaultRouteSettings.reduce((acc, cur) => [ | ||
...acc, | ||
...(cur.routeOptions.allowedOrigins || []).map((ao) => (0, exports.convertContentSecurityPolicyEntryToString)(baseDomain, ao)), | ||
], []); | ||
// Route specific | ||
const routeAllowedOrigins = (route.allowedOrigins || []).map(ao => (0, exports.convertContentSecurityPolicyEntryToString)(baseDomain, ao)); | ||
const routeAllowedOrigins = (route.allowedOrigins || []).map((ao) => (0, exports.convertContentSecurityPolicyEntryToString)(baseDomain, ao)); | ||
// Return the allowed origins | ||
const allAllowedOrigins = [ | ||
rootDomain, | ||
...defaultAllowedOrigins, | ||
...routeAllowedOrigins | ||
].map((o) => o.toLowerCase()); | ||
const allAllowedOrigins = [rootDomain, ...defaultAllowedOrigins, ...routeAllowedOrigins].map((o) => o.toLowerCase()); | ||
console.log(allAllowedOrigins); | ||
@@ -52,0 +66,0 @@ return allAllowedOrigins; |
import { HTTPEvent, HTTPEventResponse } from '../types/HTTPEvent'; | ||
export declare const rawFromJsonEventRequest: (httpJsonEvent: HTTPEvent) => string; | ||
export declare const fromJsonEventRequest: <T>(httpJsonEvent: HTTPEvent) => T; | ||
export declare const toJsonEventResponse: (item: any, status?: number) => HTTPEventResponse; | ||
export declare const toHtmlResponse: (html: string, status?: number) => HTTPEventResponse; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.toHtmlResponse = exports.toJsonEventResponse = exports.fromJsonEventRequest = void 0; | ||
exports.toHtmlResponse = exports.toJsonEventResponse = exports.fromJsonEventRequest = exports.rawFromJsonEventRequest = void 0; | ||
const rawFromJsonEventRequest = (httpJsonEvent) => { | ||
const json = httpJsonEvent.isBase64Encoded | ||
? Buffer.from(httpJsonEvent.body, 'base64').toString() | ||
: httpJsonEvent.body; | ||
return json; | ||
}; | ||
exports.rawFromJsonEventRequest = rawFromJsonEventRequest; | ||
const fromJsonEventRequest = (httpJsonEvent) => { | ||
const item = JSON.parse(httpJsonEvent.isBase64Encoded | ||
? Buffer.from(httpJsonEvent.body, 'base64').toString() | ||
: httpJsonEvent.body); | ||
const item = JSON.parse((0, exports.rawFromJsonEventRequest)(httpJsonEvent)); | ||
return item; | ||
@@ -9,0 +14,0 @@ }; |
{ | ||
"name": "quidproquo-webserver", | ||
"version": "0.0.169", | ||
"version": "0.0.170", | ||
"description": "", | ||
@@ -28,8 +28,8 @@ "main": "./lib/commonjs/index.js", | ||
"dependencies": { | ||
"quidproquo-core": "0.0.169" | ||
"quidproquo-core": "0.0.170" | ||
}, | ||
"devDependencies": { | ||
"quidproquo-tsconfig": "0.0.169", | ||
"quidproquo-tsconfig": "0.0.170", | ||
"typescript": "^4.9.3" | ||
} | ||
} |
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
161348
3248
+ Addedquidproquo-core@0.0.170(transitive)
- Removedquidproquo-core@0.0.169(transitive)
Updatedquidproquo-core@0.0.170