query param encoding, decoding 처리
This commit is contained in:
@@ -2,7 +2,6 @@ package com.eactive.testmaster.api.dto;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.URLDecoder;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@@ -13,7 +12,7 @@ public class MockRequest {
|
||||
|
||||
public static Map<String, String> parseQueryString(HttpServletRequest request) {
|
||||
Map<String, String> queryParams = new HashMap<>();
|
||||
String queryString = URLDecoder.decode(request.getQueryString());
|
||||
String queryString = request.getQueryString()!=null?URLDecoder.decode(request.getQueryString()) : null;
|
||||
if (queryString != null) {
|
||||
String[] queryParamsArr = queryString.split("&");
|
||||
for (String queryParam : queryParamsArr) {
|
||||
|
||||
@@ -30,6 +30,7 @@ import io.netty.handler.ssl.SslContext;
|
||||
import io.netty.handler.ssl.SslContextBuilder;
|
||||
import io.netty.handler.ssl.util.InsecureTrustManagerFactory;
|
||||
import io.netty.util.CharsetUtil;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import javax.net.ssl.SSLException;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -84,8 +85,18 @@ public class NettyHttpApiClient implements ApiClient {
|
||||
}
|
||||
|
||||
String fullPath = server.getBasePath() + apiRequest.getPath();
|
||||
String encodedPath = fullPath;
|
||||
|
||||
HttpRequest request = new DefaultFullHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.valueOf(apiRequest.getMethod()), fullPath, content);
|
||||
// Check if the fullPath contains query parameters
|
||||
int queryIndex = fullPath.indexOf('?');
|
||||
if (queryIndex != -1) {
|
||||
String path = fullPath.substring(0, queryIndex);
|
||||
String queryParams = fullPath.substring(queryIndex + 1);
|
||||
String encodedQueryParams = URLEncoder.encode(queryParams);
|
||||
encodedPath = path + "?" + encodedQueryParams;
|
||||
}
|
||||
|
||||
HttpRequest request = new DefaultFullHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.valueOf(apiRequest.getMethod()), encodedPath, content);
|
||||
|
||||
request.headers().set("Host", host);
|
||||
request.headers().set("Connection", HttpHeaderValues.CLOSE);
|
||||
|
||||
Reference in New Issue
Block a user