Class AsyncMiddleManServlet

    • Field Detail

      • PROXY_REQUEST_CONTENT_COMMITTED_ATTRIBUTE

        private static final java.lang.String PROXY_REQUEST_CONTENT_COMMITTED_ATTRIBUTE
      • CLIENT_TRANSFORMER_ATTRIBUTE

        private static final java.lang.String CLIENT_TRANSFORMER_ATTRIBUTE
      • SERVER_TRANSFORMER_ATTRIBUTE

        private static final java.lang.String SERVER_TRANSFORMER_ATTRIBUTE
      • CONTINUE_ACTION_ATTRIBUTE

        private static final java.lang.String CONTINUE_ACTION_ATTRIBUTE
      • WRITE_LISTENER_ATTRIBUTE

        private static final java.lang.String WRITE_LISTENER_ATTRIBUTE
    • Constructor Detail

      • AsyncMiddleManServlet

        public AsyncMiddleManServlet()
    • Method Detail

      • service

        protected void service​(javax.servlet.http.HttpServletRequest clientRequest,
                               javax.servlet.http.HttpServletResponse proxyResponse)
                        throws javax.servlet.ServletException,
                               java.io.IOException
        Overrides:
        service in class javax.servlet.http.HttpServlet
        Throws:
        javax.servlet.ServletException
        java.io.IOException
      • newProxyContentProvider

        protected DeferredContentProvider newProxyContentProvider​(javax.servlet.http.HttpServletRequest clientRequest,
                                                                  javax.servlet.http.HttpServletResponse proxyResponse,
                                                                  Request proxyRequest)
                                                           throws java.io.IOException
        Throws:
        java.io.IOException
      • newProxyReadListener

        protected javax.servlet.ReadListener newProxyReadListener​(javax.servlet.http.HttpServletRequest clientRequest,
                                                                  javax.servlet.http.HttpServletResponse proxyResponse,
                                                                  Request proxyRequest,
                                                                  DeferredContentProvider provider)
      • newServerResponseContentTransformer

        protected AsyncMiddleManServlet.ContentTransformer newServerResponseContentTransformer​(javax.servlet.http.HttpServletRequest clientRequest,
                                                                                               javax.servlet.http.HttpServletResponse proxyResponse,
                                                                                               Response serverResponse)
      • transform

        private void transform​(AsyncMiddleManServlet.ContentTransformer transformer,
                               java.nio.ByteBuffer input,
                               boolean finished,
                               java.util.List<java.nio.ByteBuffer> output)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • readClientRequestContent

        int readClientRequestContent​(javax.servlet.ServletInputStream input,
                                     byte[] buffer)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • writeProxyResponseContent

        void writeProxyResponseContent​(javax.servlet.ServletOutputStream output,
                                       java.nio.ByteBuffer content)
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • write

        private static void write​(java.io.OutputStream output,
                                  java.nio.ByteBuffer content)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • cleanup

        private void cleanup​(javax.servlet.http.HttpServletRequest clientRequest)