Socket
Socket
Sign inDemoInstall

quidproquo-webserver

Package Overview
Dependencies
Maintainers
1
Versions
226
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

quidproquo-webserver - npm Package Compare versions

Comparing version 0.0.169 to 0.0.170

22

lib/commonjs/types/HTTPEvent.js
"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}'>;

6

lib/commonjs/utils/headerUtils.d.ts

@@ -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"
}
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc