in wilma-extras/reverseProxy/src/main/java/com/epam/wilma/extras/reverseProxy/ReverseProxyService.java [158:185]
private String handlePost(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, String path) {
String response;
int index = path.lastIndexOf("/");
String idStr = path.substring(index + 1);
//build up the new info
try {
String myBody = IOUtils.toString(httpServletRequest.getReader());
JSONObject json = new JSONObject(myBody);
String originalTarget = json.getString("originalTarget");
String realTarget = json.getString("realTarget");
ReverseProxyInformation reverseProxyInformation = new ReverseProxyInformation(idStr, originalTarget, realTarget);
if (reverseProxyInformation.isValid()) {
synchronized (GUARD) {
REVERSE_PROXY_INFORMATION_MAP.put(idStr, reverseProxyInformation);
}
response = getReverseProxyMap(httpServletResponse);
httpServletResponse.setStatus(HttpServletResponse.SC_OK);
} else {
//request is not valid
response = "{ \"error\": \"Specified Reverse Proxy information is not accepted.\" }";
httpServletResponse.setStatus(HttpServletResponse.SC_BAD_REQUEST);
}
} catch (JSONException | IOException e) {
response = "{ \"error\": \"" + e.getLocalizedMessage() + "\" }";
httpServletResponse.setStatus(HttpServletResponse.SC_BAD_REQUEST);
}
return response;
}