private String handlePost()

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;
    }