Examples of HttpServletResponseWrapper


Examples of javax.servlet.http.HttpServletResponseWrapper

            // Will stream updated response
            final ByteArrayOutputStream byteStream = new ByteArrayOutputStream();

            // Create a custom response wrapper to adding in the padding
            HttpServletResponseWrapper responseWrapper = new HttpServletResponseWrapper(httpResponse) {

                @Override
                public ServletOutputStream getOutputStream() throws IOException {
                    return new ServletOutputStream() {
                        @Override
View Full Code Here

Examples of javax.servlet.http.HttpServletResponseWrapper

          uri = uri.substring(0, uri.length() - 1); // Removing trailing "/".
        return uri;
      }
    };

    HttpServletResponse response = new HttpServletResponseWrapper(resp) {
      @Override
      public PrintWriter getWriter() throws IOException {
        return new PrintWriter(resp.getWriter()) {
          @Override
          public void close() {
View Full Code Here

Examples of javax.servlet.http.HttpServletResponseWrapper

                return "OPTIONS";
            }
        };

        // Response swallows all output
        HttpServletResponseWrapper rsp = new HttpServletResponseWrapper(response) {
            @Override
            public ServletOutputStream getOutputStream() throws IOException {
                return new ServletOutputStream() {
                    @Override
                    public void write(int b) throws IOException {
View Full Code Here

Examples of javax.servlet.http.HttpServletResponseWrapper

            // Will stream updated response
            final ByteArrayOutputStream byteStream = new ByteArrayOutputStream();

            // Create a custom response wrapper to adding in the padding
            HttpServletResponseWrapper responseWrapper = new HttpServletResponseWrapper(httpResponse) {

                @Override
                public ServletOutputStream getOutputStream() throws IOException {
                    return new ServletOutputStream() {
                        @Override
View Full Code Here

Examples of javax.servlet.http.HttpServletResponseWrapper

    public void destroy() {
    }

    private ServletResponse wrapResponse(HttpServletResponse response, final String requestPath) {
        return new HttpServletResponseWrapper(response) {
            @Override
            public void sendRedirect(String path) throws IOException {
                FacesContext context = FacesContext.getCurrentInstance();
                if (context != null) { // this is a JSF request
                    ConversationContext conversationContext = instance(contextId).select(HttpConversationContext.class).get();
View Full Code Here

Examples of javax.servlet.http.HttpServletResponseWrapper

                (PrintWriter)envOut :
                new PrintWriter(envOut);
            // Otherwise, create a response wrapper that will pass the
            // env writer, potentially first wrapping it in a print
            // writer when it ain't one already.
            wrappedResponse = new HttpServletResponseWrapper(response) {
                public PrintWriter getWriter() {
                    return printWriter;
                }
            };
        }
View Full Code Here

Examples of javax.servlet.http.HttpServletResponseWrapper

    public void include(String url, boolean flush) throws ServletException, IOException {
        if(flush) {
            jspOut.flush();
        }
        final PrintWriter pw = new PrintWriter(jspOut);
        request.getRequestDispatcher(url).include(request, new HttpServletResponseWrapper(response) {
            public PrintWriter getWriter() {
                return pw;
            }
           
            public ServletOutputStream getOutputStream() {
View Full Code Here

Examples of javax.servlet.http.HttpServletResponseWrapper

    }

    /* ------------------------------------------------------------ */
    public void handleOptions(FilterChain chain, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
    {
        chain.doFilter(request,new HttpServletResponseWrapper(response)
        {
            @Override
            public void setHeader(String name, String value)
            {
                if ("Allow".equalsIgnoreCase(name))
View Full Code Here

Examples of javax.servlet.http.HttpServletResponseWrapper

            if ( "true".equals(req.getParameter("wrapped")))
            {
                if (req.getParameter("do").equals("forward"))
                {
                    dispatcher.forward(new HttpServletRequestWrapper(req),new HttpServletResponseWrapper(res));
                }
                else if (req.getParameter("do").equals("include"))
                {
                    dispatcher.include(new HttpServletRequestWrapper(req),new HttpServletResponseWrapper(res));
                }
                else
                {
                    throw new ServletException("type of forward or include is required");
                }
View Full Code Here

Examples of org.emrys.webosgi.core.jeewrappers.HttpServletResponseWrapper

        .getReqThreadVariants().get(OSGiWebContainer.THREAD_V_REQUEST);

    // Try to wrapper the given request and response.
    BundledHttpServletRequestWrapper reqWrapper = BundledHttpServletRequestWrapper
        .getHttpServletRequestWrapper(request, topRequest.getBundle());
    HttpServletResponseWrapper respWrapper = HttpServletResponseWrapper
        .getHttpServletResponseWrapper(response);

    // Buffer the former state and revert them at last.
    boolean oIsDispatched = reqWrapper.isDispatched();
    boolean oIsInclude = reqWrapper.isInclude();
    String oServletPath = reqWrapper.getServletPath();
    String oPathInfo = reqWrapper.getPathInfo();

    try {
      // Skip on system root path mark.
      if (targetPath.startsWith(IFwkConstants.SYS_PATH_PREFIX)) {
        targetPath = targetPath.substring(IFwkConstants.SYS_PATH_PREFIX
            .length());
      } else {
        if (!targetPath.startsWith("/")) {
          // Relative path not allowed, regard it as absolute.
          targetPath = "/" + targetPath;
        }

        if (this.webCtxPath != null && this.webCtxPath.length() != 0
            && !targetPath.startsWith("/" + this.webCtxPath + "/")) {
          targetPath = this.webCtxPath + targetPath;
        }
      }

      // Take the URI and query string together as targetURL, and later
      // set into request.
      String targetURL = targetPath;

      int index = targetPath.indexOf('?');
      if (index != -1) {
        String queryStr = targetPath.substring(index + 1);
        targetPath = targetPath.substring(0, index);
        reqWrapper.parseNewParameters(queryStr);
      }

      // set new path to dispatch to.
      reqWrapper.setServletPath(targetPath);
      // According to the tomcat's behavior, if forward, the request's URI
      // should be reset.
      if (!isInclude) {
        String oReqURL = reqWrapper.getRequestURL().toString();
        String ctxPath = reqWrapper.getContextPath();
        // Get the external top context path.
        int i = ctxPath.lastIndexOf('/');
        if (i > 0)
          ctxPath = ctxPath.substring(0, i);
        String newReqURI = ctxPath + targetPath;
        reqWrapper.setRequestURI(newReqURI);
        i = oReqURL.indexOf(ctxPath);
        if (i > -1) {
          String urlPrefix = oReqURL.substring(0, i
              + ctxPath.length());
          String newReqURL = urlPrefix + targetURL;
          reqWrapper.setRequestURL(newReqURL);
        }
      }

      reqWrapper.setPathInfo(null);

      // If need do filter, not set dispatching ad include mark.
      if (!doInternalFilter) {
        // If forward, we just reset the response's output buffer, not
        // reset the headers and status. So we invoke resetBuffer(), not
        // reset(); Notice, before dispatch this request, some filter or
        // servlet may add some cookie or set status. Tomcat remain them
        // after dispatch.
        if (!isInclude)
          respWrapper.resetBuffer(); // reset();
        // set the dispatching mark.
        reqWrapper.setDispatched(true);
        reqWrapper.setInclude(isInclude);
        // set include in response wrapper as well.
        respWrapper.setInclude(isInclude);

        // FIXME: If the original Request paths should not be modified
        // and just set several include_xxx attributes???
        if (isInclude && request instanceof HttpServletRequest) {
          // Store original include attribute.
          include_context_path = request
              .getAttribute("javax.servlet.include.context_path");
          include_servlet_path = request
              .getAttribute("javax.servlet.include.servlet_path");
          include_path_info = request
              .getAttribute("javax.servlet.include.path_info");
          include_request_uri = request
              .getAttribute("javax.servlet.include.request_uri");
          include_query_string = request
              .getAttribute("javax.servlet.include.query_string");

          request.setAttribute("javax.servlet.include.context_path",
              ((HttpServletRequest) request).getSession()
                  .getServletContext().getContextPath());
          request.setAttribute("javax.servlet.include.servlet_path",
              ((HttpServletRequest) request).getServletPath());
          request.setAttribute("javax.servlet.include.path_info",
              ((HttpServletRequest) request).getPathInfo());

          request.setAttribute("javax.servlet.include.request_uri",
              ((HttpServletRequest) request).getRequestURI());
          request.setAttribute("javax.servlet.include.query_string",
              ((HttpServletRequest) request).getQueryString());

        }
      }

      // rewire to JEE Container.
      webContainer.service(reqWrapper, respWrapper);
    } finally {
      // reset the include attributes at last.
      if (!doInternalFilter && isInclude
          && request instanceof HttpServletRequest) {
        // Store original include attribute.
        request.setAttribute("javax.servlet.include.context_path",
            include_context_path);
        request.setAttribute("javax.servlet.include.servlet_path",
            include_servlet_path);
        request.setAttribute("javax.servlet.include.path_info",
            include_path_info);
        request.setAttribute("javax.servlet.include.request_uri",
            include_request_uri);
        request.setAttribute("javax.servlet.include.query_string",
            include_query_string);
      }

      // revert the buffered state.
      reqWrapper.setServletPath(oServletPath);
      reqWrapper.setPathInfo(oPathInfo);
      reqWrapper.setDispatched(oIsDispatched);
      reqWrapper.setInclude(oIsInclude);
      respWrapper.setInclude(oIsInclude);
    }
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.