From 09bdd13227b68fc871cb71db5551741c984565bb Mon Sep 17 00:00:00 2001 From: Sean Clark <sclark@whitebox.com> Date: Sun, 5 Nov 2023 12:53:01 -0500 Subject: [PATCH] feat(operationalParameter): Default to config headers for header params If OpenAPI has paramaters that will be sent as headers, allow configuration to set those headers for the entire client. --- src/openApi/v3/parser/getOperationParameter.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/openApi/v3/parser/getOperationParameter.ts b/src/openApi/v3/parser/getOperationParameter.ts index 97a719c96..e8ecc9b66 100644 --- a/src/openApi/v3/parser/getOperationParameter.ts +++ b/src/openApi/v3/parser/getOperationParameter.ts @@ -54,7 +54,11 @@ export const getOperationParameter = (openApi: OpenApi, parameter: OpenApiParame operationParameter.base = model.base; operationParameter.template = model.template; operationParameter.imports.push(...model.imports); - operationParameter.default = getModelDefault(schema); + operationParameter.default = + parameter.in === 'header' + ? `this.httpRequest.config.HEADERS['${parameter.name}']` + : getModelDefault(schema); + return operationParameter; } else { const model = getModel(openApi, schema); @@ -80,11 +84,14 @@ export const getOperationParameter = (openApi: OpenApi, parameter: OpenApiParame operationParameter.maxProperties = model.maxProperties; operationParameter.minProperties = model.minProperties; operationParameter.pattern = getPattern(model.pattern); - operationParameter.default = model.default; operationParameter.imports.push(...model.imports); operationParameter.enum.push(...model.enum); operationParameter.enums.push(...model.enums); operationParameter.properties.push(...model.properties); + + // param default if the value is a header should be the config header + operationParameter.default = + parameter.in === 'header' ? `this.httpRequest.config.HEADERS['${parameter.name}']` : model.default; return operationParameter; } }