Merge pull request #1880 from hapifhir/do-20250114-fix-param-encode

Use URLEncoder.encode, deprecate worse named method
This commit is contained in:
Grahame Grieve 2025-01-17 10:52:15 +11:00 committed by GitHub
commit 8c039244a5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 19 additions and 15 deletions

View File

@ -342,7 +342,7 @@ public class FHIRToolingClient extends FHIRBaseToolingClient {
if (!complex)
for (ParametersParameterComponent p : params.getParameter())
if (p.getValue() instanceof PrimitiveType)
ps += p.getName() + "=" + Utilities.encodeUri(((PrimitiveType) p.getValue()).asStringValue()) + "&";
ps += p.getName() + "=" + Utilities.encodeUriParam(((PrimitiveType) p.getValue()).asStringValue()) + "&";
ResourceRequest<T> result;
if (complex)
result = utils.issuePostRequest(resourceAddress.resolveOperationURLFromClass(resourceClass, name, ps),

View File

@ -426,7 +426,7 @@ public class ResourceAddress {
} else {
query = "";
}
query += httpParameterName + "=" + Utilities.encodeUri(parameters.get(httpParameterName));
query += httpParameterName + "=" + Utilities.encodeUriParam(parameters.get(httpParameterName));
}
return new URI(basePath.getScheme(), basePath.getUserInfo(), basePath.getHost(), basePath.getPort(),

View File

@ -522,7 +522,7 @@ public class FHIRToolingClient extends FHIRBaseToolingClient {
if (!complex)
for (ParametersParameterComponent p : params.getParameter())
if (p.getValue() instanceof PrimitiveType)
ps += p.getName() + "=" + Utilities.encodeUri(((PrimitiveType) p.getValue()).asStringValue()) + "&";
ps += p.getName() + "=" + Utilities.encodeUriParam(((PrimitiveType) p.getValue()).asStringValue()) + "&";
ResourceRequest<T> result;
if (complex)
result = utils.issuePostRequest(resourceAddress.resolveOperationURLFromClass(resourceClass, name, ps),

View File

@ -427,7 +427,7 @@ public class ResourceAddress {
} else {
query = "";
}
query += httpParameterName + "=" + Utilities.encodeUri(parameters.get(httpParameterName));
query += httpParameterName + "=" + Utilities.encodeUriParam(parameters.get(httpParameterName));
}
return new URI(basePath.getScheme(), basePath.getUserInfo(), basePath.getHost(), basePath.getPort(),

View File

@ -312,7 +312,7 @@ public class FHIRToolingClient extends FHIRBaseToolingClient {
if (!complex)
for (ParametersParameterComponent p : params.getParameter())
if (p.getValue() instanceof PrimitiveType)
ps += p.getName() + "=" + Utilities.encodeUri(((PrimitiveType) p.getValue()).asStringValue()) + "&";
ps += p.getName() + "=" + Utilities.encodeUriParam(((PrimitiveType) p.getValue()).asStringValue()) + "&";
ResourceRequest<T> result;
URI url = resourceAddress.resolveOperationURLFromClass(resourceClass, name, ps);
if (complex) {

View File

@ -418,7 +418,7 @@ public class ResourceAddress {
} else {
query = "";
}
query += httpParameterName + "=" + Utilities.encodeUri(parameters.get(httpParameterName));
query += httpParameterName + "=" + Utilities.encodeUriParam(parameters.get(httpParameterName));
}
return new URI(basePath.getScheme(), basePath.getUserInfo(), basePath.getHost(),basePath.getPort(), basePath.getPath(), query, basePath.getFragment());

View File

@ -288,7 +288,7 @@ public class FHIRToolingClient extends FHIRBaseToolingClient {
if (!complex)
for (ParametersParameterComponent p : params.getParameter())
if (p.getValue() instanceof PrimitiveType)
ps += p.getName() + "=" + Utilities.encodeUri(((PrimitiveType) p.getValue()).asStringValue()) + "&";
ps += p.getName() + "=" + Utilities.encodeUriParam(((PrimitiveType) p.getValue()).asStringValue()) + "&";
ResourceRequest<T> result;
URI url = resourceAddress.resolveOperationURLFromClass(resourceClass, name, ps);
if (complex) {

View File

@ -433,7 +433,7 @@ public class ResourceAddress {
} else {
query = "";
}
query += httpParameterName + "=" + Utilities.encodeUri(parameters.get(httpParameterName));
query += httpParameterName + "=" + Utilities.encodeUriParam(parameters.get(httpParameterName));
}
return new URI(basePath.getScheme(), basePath.getUserInfo(), basePath.getHost(), basePath.getPort(),

View File

@ -301,7 +301,7 @@ public class FHIRToolingClient extends FHIRBaseToolingClient{
if (!complex)
for (ParametersParameterComponent p : params.getParameter())
if (p.getValue() instanceof PrimitiveType)
ps += p.getName() + "=" + Utilities.encodeUri(((PrimitiveType) p.getValue()).asStringValue()) + "&";
ps += p.getName() + "=" + Utilities.encodeUriParam(((PrimitiveType) p.getValue()).asStringValue()) + "&";
ResourceRequest<T> result;
URI url = resourceAddress.resolveOperationURLFromClass(resourceClass, name, ps);
if (complex) {

View File

@ -424,7 +424,7 @@ public class ResourceAddress {
} else {
query = "";
}
query += httpParameterName + "=" + Utilities.encodeUri(parameters.get(httpParameterName));
query += httpParameterName + "=" + Utilities.encodeUriParam(parameters.get(httpParameterName));
}
return new URI(basePath.getScheme(), basePath.getUserInfo(), basePath.getHost(), basePath.getPort(),

View File

@ -345,7 +345,7 @@ public class FHIRToolingClient extends FHIRBaseToolingClient {
if (!complex)
for (ParametersParameterComponent p : params.getParameter())
if (p.getValue() instanceof PrimitiveType)
ps += p.getName() + "=" + Utilities.encodeUri(((PrimitiveType) p.getValue()).asStringValue()) + "&";
ps += p.getName() + "=" + Utilities.encodeUriParam(((PrimitiveType) p.getValue()).asStringValue()) + "&";
ResourceRequest<T> result;
URI url = resourceAddress.resolveOperationURLFromClass(resourceClass, name, ps);
if (complex) {

View File

@ -426,7 +426,7 @@ public class ResourceAddress {
} else {
query = "";
}
query += httpParameterName + "=" + Utilities.encodeUri(parameters.get(httpParameterName));
query += httpParameterName + "=" + Utilities.encodeUriParam(parameters.get(httpParameterName));
}
return new URI(basePath.getScheme(), basePath.getUserInfo(), basePath.getHost(),basePath.getPort(), basePath.getPath(), query, basePath.getFragment());

View File

@ -16,6 +16,7 @@ import java.math.RoundingMode;
import java.net.URI;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
@ -926,11 +927,14 @@ public class Utilities {
return parts.toArray(new String[]{});
}
public static String encodeUri(String v) {
return v.replace("%", "%25").replace(" ", "%20").replace("?", "%3F").replace("=", "%3D").replace("|", "%7C").replace("+", "%2B");
@Deprecated
public static String encodeUri(String string) {
return encodeUriParam(string);
}
public static String encodeUriParam(String param) {
return URLEncoder.encode(param, StandardCharsets.UTF_8);
}
public static String normalize(String s) {
if (noString(s))