From d7d061b5af31743b3d0fe2fac59ab467b4f9ed70 Mon Sep 17 00:00:00 2001 From: Kyle Shockey Date: Thu, 30 Nov 2017 17:26:49 -0800 Subject: [PATCH] Provide operation server data to Swagger-Client --- src/core/plugins/spec/actions.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/core/plugins/spec/actions.js b/src/core/plugins/spec/actions.js index 75c2a6b4..f47b09ef 100644 --- a/src/core/plugins/spec/actions.js +++ b/src/core/plugins/spec/actions.js @@ -228,9 +228,18 @@ export const executeRequest = (req) => } if(specSelectors.isOAS3()) { - // OAS3 request feature support - req.server = oas3Selectors.selectedServer() - req.serverVariables = oas3Selectors.serverVariables(req.server).toJS() + const namespace = `${pathName}:${method}` + + req.server = oas3Selectors.selectedServer(namespace) || oas3Selectors.selectedServer() + + const operationVariables = oas3Selectors.serverVariables({ + server: req.server, + namespace + }) + const globalVariables = oas3Selectors.serverVariables({ server: req.server }) + + req.serverVariables = operationVariables.size ? operationVariables : globalVariables + req.requestContentType = oas3Selectors.requestContentType(pathName, method) req.responseContentType = oas3Selectors.responseContentType(pathName, method) || "*/*" const requestBody = oas3Selectors.requestBodyValue(pathName, method)