forked from loafle/openapi-generator-original
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.
This commit is contained in:
parent
21a8e4e623
commit
c487a6ea18
@ -23,9 +23,6 @@ void {{classname}}::initializeServerConfigs() {
|
|||||||
//Default server
|
//Default server
|
||||||
QList<{{prefix}}ServerConfiguration> defaultConf = QList<{{prefix}}ServerConfiguration>();
|
QList<{{prefix}}ServerConfiguration> defaultConf = QList<{{prefix}}ServerConfiguration>();
|
||||||
//varying endpoint server
|
//varying endpoint server
|
||||||
{{#servers}}
|
|
||||||
QList<{{prefix}}ServerConfiguration> serverConf = QList<{{prefix}}ServerConfiguration>();
|
|
||||||
{{/servers}}
|
|
||||||
{{#vendorExtensions.x-cpp-global-server-list}}
|
{{#vendorExtensions.x-cpp-global-server-list}}
|
||||||
defaultConf.append({{prefix}}ServerConfiguration(
|
defaultConf.append({{prefix}}ServerConfiguration(
|
||||||
QUrl("{{{url}}}"),
|
QUrl("{{{url}}}"),
|
||||||
@ -42,15 +39,18 @@ void {{classname}}::initializeServerConfigs() {
|
|||||||
_serverIndices.insert("{{nickname}}", 0);
|
_serverIndices.insert("{{nickname}}", 0);
|
||||||
{{/servers}}
|
{{/servers}}
|
||||||
{{#servers}}
|
{{#servers}}
|
||||||
serverConf.append({{prefix}}ServerConfiguration(
|
{
|
||||||
QUrl("{{{url}}}"),
|
QList<{{prefix}}ServerConfiguration> serverConf = QList<{{prefix}}ServerConfiguration>();
|
||||||
"{{{description}}}{{^description}}No description provided{{/description}}",
|
serverConf.append({{prefix}}ServerConfiguration(
|
||||||
{{#variables}}{{#-first}}QMap<QString, {{prefix}}ServerVariable>{ {{/-first}}
|
QUrl("{{{url}}}"),
|
||||||
{"{{{name}}}", {{prefix}}ServerVariable("{{{description}}}{{^description}}No description provided{{/description}}","{{{defaultValue}}}",
|
"{{{description}}}{{^description}}No description provided{{/description}}",
|
||||||
QSet<QString>{ {{#enumValues}}{"{{{.}}}"}{{#-last}} })}, {{/-last}}{{^-last}},{{/-last}}{{/enumValues}}{{^enumValues}}{"{{defaultValue}}"} })},{{/enumValues}}{{#-last}} }));{{/-last}}
|
{{#variables}}{{#-first}}QMap<QString, {{prefix}}ServerVariable>{ {{/-first}}
|
||||||
{{/variables}}{{^variables}}QMap<QString, {{prefix}}ServerVariable>()));{{/variables}}
|
{"{{{name}}}", {{prefix}}ServerVariable("{{{description}}}{{^description}}No description provided{{/description}}","{{{defaultValue}}}",
|
||||||
{{#-last}}_serverConfigs.insert("{{nickname}}", serverConf);
|
QSet<QString>{ {{#enumValues}}{"{{{.}}}"}{{#-last}} })}, {{/-last}}{{^-last}},{{/-last}}{{/enumValues}}{{^enumValues}}{"{{defaultValue}}"} })},{{/enumValues}}{{#-last}} }));{{/-last}}
|
||||||
_serverIndices.insert("{{nickname}}", 0);{{/-last}}
|
{{/variables}}{{^variables}}QMap<QString, {{prefix}}ServerVariable>()));{{/variables}}
|
||||||
|
{{#-last}}_serverConfigs.insert("{{nickname}}", serverConf);
|
||||||
|
_serverIndices.insert("{{nickname}}", 0);{{/-last}}
|
||||||
|
}
|
||||||
{{/servers}}
|
{{/servers}}
|
||||||
{{/operation}}
|
{{/operation}}
|
||||||
{{/operations}}
|
{{/operations}}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user