public String handleRequest()

in wilma-extras/shortCircuit/src/main/java/com/epam/wilma/extras/shortcircuit/ShortCircuitInterceptor.java [75:108]


    public String handleRequest(HttpServletRequest httpServletRequest, String request, HttpServletResponse httpServletResponse) {
        String myMethod = httpServletRequest.getMethod();
        String myService = (this.getClass().getSimpleName() + HANDLED_SERVICE).toLowerCase();
        boolean myCall = request.toLowerCase().startsWith(myService);

        //set default response
        String response = "{ \"unknownServiceCall\": \"" + myMethod + " " + request + "\" }";
        httpServletResponse.setStatus(HttpServletResponse.SC_NOT_FOUND);

        if (myCall) {
            //handle basic call (without query string)
            if (httpServletRequest.getQueryString() == null) {
                //get the map, or delete whole map
                response = handleBasicCall(myMethod, httpServletResponse, httpServletRequest.getPathInfo());
            } else {
                if (httpServletRequest.getQueryString().length() > 0) {
                    //handle calls with query string as folder
                    String folder = httpServletRequest.getParameter("folder");
                    if (folder != null && folder.length() > 0 && !folder.contains("..") && folder.length() < FOLDER_MAX_LENGTH) { //make folder safe
                        //save (post) and load (get) map
                        response = handleComplexCall(myMethod, folder, httpServletResponse);
                    }
                    //handle calls with query string as id
                    String id = httpServletRequest.getParameter("id");
                    if (id != null && id.length() > 0) {
                        //delete specific entry and load (get) map
                        response = handleDeleteById(myMethod, id, httpServletResponse);
                    }
                }
            }
        }

        return response;
    }