From c487a6ea18ec41f68667d8555f217373e142f006 Mon Sep 17 00:00:00 2001 From: James Ring Date: Wed, 16 Oct 2024 00:45:18 -0700 Subject: [PATCH] Fix missing serverConf variable (#19859) Previously, if an operation had a 'servers' block, the template would emit code requiring a `serverConf` local variable. Unfortunately, the template would not emit this variable, because it was looking for a `servers` variable in the wrong context. This change makes the template emit an anonymous block containing a unique server configuration for each operation. I did not test this change beyond a simple code inspection, there are other problems with the code generator which prevent it from running on my API definition. --- .../resources/cpp-qt-client/api-body.mustache | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/cpp-qt-client/api-body.mustache b/modules/openapi-generator/src/main/resources/cpp-qt-client/api-body.mustache index 96f4b2778cf..c58edaf91f5 100644 --- a/modules/openapi-generator/src/main/resources/cpp-qt-client/api-body.mustache +++ b/modules/openapi-generator/src/main/resources/cpp-qt-client/api-body.mustache @@ -23,9 +23,6 @@ void {{classname}}::initializeServerConfigs() { //Default server QList<{{prefix}}ServerConfiguration> defaultConf = QList<{{prefix}}ServerConfiguration>(); //varying endpoint server - {{#servers}} - QList<{{prefix}}ServerConfiguration> serverConf = QList<{{prefix}}ServerConfiguration>(); - {{/servers}} {{#vendorExtensions.x-cpp-global-server-list}} defaultConf.append({{prefix}}ServerConfiguration( QUrl("{{{url}}}"), @@ -42,15 +39,18 @@ void {{classname}}::initializeServerConfigs() { _serverIndices.insert("{{nickname}}", 0); {{/servers}} {{#servers}} - serverConf.append({{prefix}}ServerConfiguration( - QUrl("{{{url}}}"), - "{{{description}}}{{^description}}No description provided{{/description}}", - {{#variables}}{{#-first}}QMap{ {{/-first}} - {"{{{name}}}", {{prefix}}ServerVariable("{{{description}}}{{^description}}No description provided{{/description}}","{{{defaultValue}}}", - QSet{ {{#enumValues}}{"{{{.}}}"}{{#-last}} })}, {{/-last}}{{^-last}},{{/-last}}{{/enumValues}}{{^enumValues}}{"{{defaultValue}}"} })},{{/enumValues}}{{#-last}} }));{{/-last}} - {{/variables}}{{^variables}}QMap()));{{/variables}} - {{#-last}}_serverConfigs.insert("{{nickname}}", serverConf); - _serverIndices.insert("{{nickname}}", 0);{{/-last}} + { + QList<{{prefix}}ServerConfiguration> serverConf = QList<{{prefix}}ServerConfiguration>(); + serverConf.append({{prefix}}ServerConfiguration( + QUrl("{{{url}}}"), + "{{{description}}}{{^description}}No description provided{{/description}}", + {{#variables}}{{#-first}}QMap{ {{/-first}} + {"{{{name}}}", {{prefix}}ServerVariable("{{{description}}}{{^description}}No description provided{{/description}}","{{{defaultValue}}}", + QSet{ {{#enumValues}}{"{{{.}}}"}{{#-last}} })}, {{/-last}}{{^-last}},{{/-last}}{{/enumValues}}{{^enumValues}}{"{{defaultValue}}"} })},{{/enumValues}}{{#-last}} }));{{/-last}} + {{/variables}}{{^variables}}QMap()));{{/variables}} + {{#-last}}_serverConfigs.insert("{{nickname}}", serverConf); + _serverIndices.insert("{{nickname}}", 0);{{/-last}} + } {{/servers}} {{/operation}} {{/operations}}