From: Jozsef Csongvai Date: Fri, 10 Jan 2020 21:12:08 +0000 (-0500) Subject: Add uri-encoding to webclient X-Git-Tag: 0.7.0~80 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F18%2F100218%2F2;p=ccsdk%2Fcds.git Add uri-encoding to webclient Path params are not uri-encoded, which can cause failed rest calls if resolved params include characters such as whitespace Issue-ID: CCSDK-2024 Change-Id: Iac57219260ac94897e09e3cb9d1d5884d86b83ae Signed-off-by: Jozsef Csongvai --- diff --git a/ms/blueprintsprocessor/modules/commons/rest-lib/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/rest/service/BlueprintWebClientService.kt b/ms/blueprintsprocessor/modules/commons/rest-lib/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/rest/service/BlueprintWebClientService.kt index 3c8d92c26..c9c8aab7d 100644 --- a/ms/blueprintsprocessor/modules/commons/rest-lib/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/rest/service/BlueprintWebClientService.kt +++ b/ms/blueprintsprocessor/modules/commons/rest-lib/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/rest/service/BlueprintWebClientService.kt @@ -42,9 +42,11 @@ import org.onap.ccsdk.cds.controllerblueprints.core.utils.BluePrintIOUtils import org.onap.ccsdk.cds.controllerblueprints.core.utils.JacksonUtils import org.springframework.http.HttpHeaders import org.springframework.http.HttpMethod +import org.springframework.web.util.UriUtils import java.io.IOException import java.io.InputStream import java.nio.charset.Charset +import java.nio.charset.StandardCharsets interface BlueprintWebClientService { @@ -92,14 +94,15 @@ interface BlueprintWebClientService { * the difference is in convertToBasicHeaders vs basicHeaders */ val convertedHeaders: Array = convertToBasicHeaders(headers) + val encodedPath = UriUtils.encodePath(path, StandardCharsets.UTF_8.name()) return when (HttpMethod.resolve(methodType)) { - HttpMethod.DELETE -> delete(path, convertedHeaders, String::class.java) - HttpMethod.GET -> get(path, convertedHeaders, String::class.java) - HttpMethod.POST -> post(path, request, convertedHeaders, String::class.java) - HttpMethod.PUT -> put(path, request, convertedHeaders, String::class.java) - HttpMethod.PATCH -> patch(path, request, convertedHeaders, String::class.java) + HttpMethod.DELETE -> delete(encodedPath, convertedHeaders, String::class.java) + HttpMethod.GET -> get(encodedPath, convertedHeaders, String::class.java) + HttpMethod.POST -> post(encodedPath, request, convertedHeaders, String::class.java) + HttpMethod.PUT -> put(encodedPath, request, convertedHeaders, String::class.java) + HttpMethod.PATCH -> patch(encodedPath, request, convertedHeaders, String::class.java) else -> throw BluePrintProcessorException( - "Unsupported methodType($methodType) attempted on path($path)" + "Unsupported methodType($methodType) attempted on path($encodedPath)" ) } }