public void handle()

in collector/jetty/src/main/java/org/apache/karaf/decanter/collector/jetty/DecanterCollectorJettyHandler.java [111:163]


    public void handle(String s, Request request, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException, ServletException {
        Map<String, Object> data = new HashMap<>();
        data.put("type", "jetty");
        data.put("request.method", httpServletRequest.getMethod());
        data.put("request.requestURI", httpServletRequest.getRequestURI());
        try {
            if (httpServletRequest.getSession() != null) {
                data.put("request.session.id", httpServletRequest.getSession().getId());
            }
        } catch (Exception e) {
            // nothing to do
        }
        data.put("request.contentType", httpServletRequest.getContentType());
        data.put("request.authType", httpServletRequest.getAuthType());
        data.put("request.contextPath", httpServletRequest.getContextPath());
        data.put("request.pathInfo", httpServletRequest.getPathInfo());
        data.put("request.pathTranslated", httpServletRequest.getPathTranslated());
        data.put("request.queryString", httpServletRequest.getQueryString());
        data.put("request.remoteUser", httpServletRequest.getRemoteUser());
        data.put("request.requestedSessionId", httpServletRequest.getRequestedSessionId());
        data.put("request.requestURL", httpServletRequest.getRequestURL());
        data.put("request.servletPath", httpServletRequest.getServletPath());
        data.put("request.localAddr", httpServletRequest.getLocalAddr());
        Enumeration<String> attributeNames = httpServletRequest.getAttributeNames();
        while (attributeNames.hasMoreElements()) {
            String name = attributeNames.nextElement();
            data.put("request.attribute." + name, httpServletRequest.getAttribute(name));
        }
        Enumeration<String> parameterNames = httpServletRequest.getParameterNames();
        while (parameterNames.hasMoreElements()) {
            String name = parameterNames.nextElement();
            data.put("request.parameter." + name, httpServletRequest.getParameter(name));
        }
        Enumeration<String> requestHeaders = httpServletRequest.getHeaderNames();
        while (requestHeaders.hasMoreElements()) {
            String name = requestHeaders.nextElement();
            data.put("request.header." + name, httpServletRequest.getHeader(name));
        }
        data.put("response.status", httpServletResponse.getStatus());
        for (String headerName : httpServletResponse.getHeaderNames()) {
            data.put("response.header." + headerName, httpServletResponse.getHeader(headerName));
        }
        data.put("response.contentType", httpServletResponse.getContentType());
        data.put("response.characterEncoding", httpServletResponse.getCharacterEncoding());
        try {
            PropertiesPreparator.prepare(data, properties);
        } catch (Exception e) {
            // nothing to do
        }
        String topic = (properties.get(EventConstants.EVENT_TOPIC) != null) ? (String) properties.get(EventConstants.EVENT_TOPIC) : "decanter/collect/jetty";
        Event event = new Event(topic, data);
        dispatcher.postEvent(event);
    }