From 42f3e4eb531ac6fecf2b98826f5ad01b8d774cf9 Mon Sep 17 00:00:00 2001 From: DiChizhik Date: Wed, 19 Mar 2025 15:45:44 +0100 Subject: [PATCH 1/2] Fix swift5 api.mustache file to do percentEncoding correctly --- boat-scaffold/src/main/templates/boat-swift5/api.mustache | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/boat-scaffold/src/main/templates/boat-swift5/api.mustache b/boat-scaffold/src/main/templates/boat-swift5/api.mustache index 52381839a..a6ceba5ac 100644 --- a/boat-scaffold/src/main/templates/boat-swift5/api.mustache +++ b/boat-scaffold/src/main/templates/boat-swift5/api.mustache @@ -227,8 +227,8 @@ extension {{moduleName}}Client { guard let dataProvider = dataProvider else { throw CallError.missingDataProvider } {{^pathParams}}let{{/pathParams}}{{#pathParams}}{{#-first}}var{{/-first}}{{/pathParams}} path = "{{{path}}}"{{#pathParams}} let {{paramName}}PathItem = "\({{#isEnum}}params.{{{paramName}}}{{#isContainer}}{{{dataType}}}{{/isContainer}}{{^isContainer}}.rawValue{{/isContainer}}{{/isEnum}}{{^isEnum}}APIHelper.mapValueToPathItem(params.{{{paramName}}}){{/isEnum}})" - path = path.replacingOccurrences(of: "{{=<% %>=}}{<%baseName%>}<%={{ }}=%>", with: {{{paramName}}}PathItem, options: .literal, range: nil){{/pathParams}} - {{#pathParams}}{{#-first}}path = path.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? ""{{/-first}}{{/pathParams}} + let encoded{{paramName}}PathItem = {{paramName}}PathItem.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" + path = path.replacingOccurrences(of: "{{=<% %>=}}{<%baseName%>}<%={{ }}=%>", with: encoded{{paramName}}PathItem, options: .literal, range: nil){{/pathParams}} {{#bodyParam}} let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: params.{{{paramName}}}) {{/bodyParam}} From b30ae1f19e7aa9cada2fb047962420f8f4c85c44 Mon Sep 17 00:00:00 2001 From: DiChizhik Date: Fri, 21 Mar 2025 09:34:45 +0100 Subject: [PATCH 2/2] Adjust api.mustache file --- boat-scaffold/src/main/templates/boat-swift5/api.mustache | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boat-scaffold/src/main/templates/boat-swift5/api.mustache b/boat-scaffold/src/main/templates/boat-swift5/api.mustache index a6ceba5ac..7a5b1ae0a 100644 --- a/boat-scaffold/src/main/templates/boat-swift5/api.mustache +++ b/boat-scaffold/src/main/templates/boat-swift5/api.mustache @@ -227,7 +227,7 @@ extension {{moduleName}}Client { guard let dataProvider = dataProvider else { throw CallError.missingDataProvider } {{^pathParams}}let{{/pathParams}}{{#pathParams}}{{#-first}}var{{/-first}}{{/pathParams}} path = "{{{path}}}"{{#pathParams}} let {{paramName}}PathItem = "\({{#isEnum}}params.{{{paramName}}}{{#isContainer}}{{{dataType}}}{{/isContainer}}{{^isContainer}}.rawValue{{/isContainer}}{{/isEnum}}{{^isEnum}}APIHelper.mapValueToPathItem(params.{{{paramName}}}){{/isEnum}})" - let encoded{{paramName}}PathItem = {{paramName}}PathItem.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" + {{#pathParams}}{{#-first}}let encoded{{paramName}}PathItem = {{paramName}}PathItem.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? ""{{/-first}}{{/pathParams}} path = path.replacingOccurrences(of: "{{=<% %>=}}{<%baseName%>}<%={{ }}=%>", with: encoded{{paramName}}PathItem, options: .literal, range: nil){{/pathParams}} {{#bodyParam}} let parameters = JSONEncodingHelper.encodingParameters(forEncodableObject: params.{{{paramName}}})