Skip to content

Commit 7141b25

Browse files
committed
csharp (generichost): split path/query for UriBuilder to avoid %3F when spec contains literal ? in path
1 parent 7b3de8d commit 7141b25

File tree

1 file changed

+9
-2
lines changed
  • modules/openapi-generator/src/main/resources/csharp/libraries/generichost

1 file changed

+9
-2
lines changed

modules/openapi-generator/src/main/resources/csharp/libraries/generichost/api.mustache

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -384,9 +384,16 @@ namespace {{packageName}}.{{apiPackage}}
384384
uriBuilderLocalVar.Host = HttpClient.BaseAddress{{nrt!}}.Host;
385385
uriBuilderLocalVar.Port = HttpClient.BaseAddress.Port;
386386
uriBuilderLocalVar.Scheme = HttpClient.BaseAddress.Scheme;
387+
var _fullPathLocalVar = "{{{path}}}";
388+
var _pathLocalVar = _fullPathLocalVar;
389+
string _queryLocalVar = null;
390+
var _qIdx = _fullPathLocalVar.IndexOf("?");
391+
if (_qIdx >= 0) { _pathLocalVar = _fullPathLocalVar.Substring(0, _qIdx); _queryLocalVar = _fullPathLocalVar.Substring(_qIdx + 1); }
392+
387393
uriBuilderLocalVar.Path = HttpClient.BaseAddress.AbsolutePath == "/"
388-
? "{{{path}}}"
389-
: string.Concat(HttpClient.BaseAddress.AbsolutePath, "{{{path}}}");
394+
? _pathLocalVar
395+
: string.Concat(HttpClient.BaseAddress.AbsolutePath, _pathLocalVar);
396+
if (_queryLocalVar != null) { uriBuilderLocalVar.Query = _queryLocalVar; }
390397
{{/servers}}
391398
{{#servers}}
392399
{{#-first}}

0 commit comments

Comments
 (0)