기본 골격

This commit is contained in:
현성필
2023-05-08 10:16:00 +09:00
parent 169ba6448c
commit 2412d289c3
606 changed files with 214162 additions and 114780 deletions
@@ -0,0 +1,100 @@
package com.eactive.httpmockserver.api.dto;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
public class MockRequest {
public static Map<String, String> parseQueryString(HttpServletRequest request) {
Map<String, String> queryParams = new HashMap<>();
String queryString = request.getQueryString();
if (queryString != null) {
String[] queryParamsArr = queryString.split("&");
for (String queryParam : queryParamsArr) {
String[] pair = queryParam.split("=");
String key = pair[0];
String value = "";
if (pair.length > 1) {
value = pair[1];
}
queryParams.put(key, value);
}
}
return queryParams;
}
public MockRequest(HttpServletRequest request) {
this.method = request.getMethod();
this.uri = request.getRequestURI();
this.headers = Collections.list(request.getHeaderNames()).stream()
.collect(Collectors.toMap(name -> name, request::getHeader));
this.params = parseQueryString(request);
try {
this.body = request.getReader().lines().collect(Collectors.joining(System.lineSeparator()));
} catch (IOException e) {
e.printStackTrace();
}
}
private String uri;
private String method;
private String body;
private Map<String, String> headers;
private Map<String, String> params;
public String getUri() {
return uri;
}
public void setUri(String uri) {
this.uri = uri;
}
public String getMethod() {
return method;
}
public void setMethod(String method) {
this.method = method;
}
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body;
}
public Map<String, String> getHeaders() {
return headers;
}
public void setHeaders(Map<String, String> headers) {
this.headers = headers;
}
public String getHeader(String key) {
return this.headers.get(key);
}
public String getParam(String key) {
return this.params.get(key);
}
public Map<String, String> getParams() {
return params;
}
public void setParams(Map<String, String> params) {
this.params = params;
}
}