From a745ae275746cc2270e17eff90db5ee83498b753 Mon Sep 17 00:00:00 2001 From: Juan Pablo Garcia Ripa Date: Wed, 6 Oct 2021 15:49:56 +0200 Subject: [PATCH] better name function Signed-off-by: Juan Pablo Garcia Ripa --- .../backend-common/src/service/lib/config.ts | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/packages/backend-common/src/service/lib/config.ts b/packages/backend-common/src/service/lib/config.ts index ad20d99b0e..25820dde91 100644 --- a/packages/backend-common/src/service/lib/config.ts +++ b/packages/backend-common/src/service/lib/config.ts @@ -120,7 +120,7 @@ export function readCorsOptions(config: Config): CorsOptions | undefined { } return removeUnknown({ - origin: getOptionalGlobOrGlobs(cc, 'origin'), + origin: createCorsOriginMatcher(getOptionalStringOrStrings(cc, 'origin')), methods: getOptionalStringOrStrings(cc, 'methods'), allowedHeaders: getOptionalStringOrStrings(cc, 'allowedHeaders'), exposedHeaders: getOptionalStringOrStrings(cc, 'exposedHeaders'), @@ -221,23 +221,24 @@ function getOptionalStringOrStrings( throw new Error(`Expected string or array of strings, got ${typeof value}`); } -function getOptionalGlobOrGlobs( - config: Config, - key: string, +function createCorsOriginMatcher( + originValue: string | string[] | undefined, ): CustomOrigin | undefined { - const value = config.getOptional(key); - if (!isStringOrStrings(value)) { - throw new Error(`Expected string or array of strings, got ${typeof value}`); + if (originValue === undefined) { + return originValue; } - if (value === undefined) { - return value; + if (!isStringOrStrings(originValue)) { + throw new Error( + `Expected string or array of strings, got ${typeof originValue}`, + ); } - const valueArr = typeof value === 'string' ? [value] : value; + const allowedOrigin = + typeof originValue === 'string' ? [originValue] : originValue; const allowedOriginPatterns = - valueArr?.map( + allowedOrigin?.map( pattern => new Minimatch(pattern, { nocase: true, noglobstar: true }), ) ?? [];