java类javax.servlet.WriteListener的实例源码

AccessLogFilter.java 文件源码 项目:dremio-oss 阅读 37 收藏 0 点赞 0 评论 0
@Override
public ServletOutputStream getOutputStream() throws IOException {

  final ServletOutputStream outputStream = d.getOutputStream();
  return new ServletOutputStream() {

    @Override
    public void write(int b) throws IOException {
      respBody.write(b);
      outputStream.write(b);
    }

    @Override
    public void setWriteListener(WriteListener writeListener) {
      outputStream.setWriteListener(writeListener);
    }

    @Override
    public boolean isReady() {
      return outputStream.isReady();
    }
  };
}
UpgradeServletOutputStream.java 文件源码 项目:lams 阅读 34 收藏 0 点赞 0 评论 0
@Override
public void setWriteListener(final WriteListener writeListener) {
    if (writeListener == null) {
        throw UndertowServletMessages.MESSAGES.paramCannotBeNull("writeListener");
    }
    if (listener != null) {
        throw UndertowServletMessages.MESSAGES.listenerAlreadySet();
    }
    listener = writeListener;
    channel.getWriteSetter().set(new WriteChannelListener());
    state |= FLAG_READY;
    ioExecutor.execute(new Runnable() {
        @Override
        public void run() {
            channel.resumeWrites();
        }
    });
}
ResponseWrapper.java 文件源码 项目:wisp 阅读 31 收藏 0 点赞 0 评论 0
@Override
public ServletOutputStream getOutputStream() throws IOException {
    return new ServletOutputStream() {
        @Override
        public boolean isReady() {
            return false;
        }

        @Override
        public void setWriteListener(WriteListener writeListener) {

        }

        private TeeOutputStream tee = new TeeOutputStream(ResponseWrapper.super.getOutputStream(), bos);

        @Override
        public void write(int b) throws IOException {
            tee.write(b);
        }
    };
}
BlobContentServletTest.java 文件源码 项目:Rapture 阅读 34 收藏 0 点赞 0 评论 0
@Override
public ServletOutputStream getOutputStream() throws IOException {
    return new ServletOutputStream() {
        @Override
        public void write(int b) throws IOException {
            baos.write(b);
        }

        @Override
        public boolean isReady() {
            // TODO Auto-generated method stub
            return false;
        }

        @Override
        public void setWriteListener(WriteListener listener) {
            // TODO Auto-generated method stub

        }
    };
}
ProxyExchange.java 文件源码 项目:spring-cloud-gateway 阅读 39 收藏 0 点赞 0 评论 0
@Override
public ServletOutputStream getOutputStream() throws IOException {
    return new ServletOutputStream() {

        @Override
        public void write(int b) throws IOException {
            builder.append(new Character((char) b));
        }

        @Override
        public void setWriteListener(WriteListener listener) {
        }

        @Override
        public boolean isReady() {
            return true;
        }
    };
}
ResponseWrapper.java 文件源码 项目:summer 阅读 35 收藏 0 点赞 0 评论 0
@Override
public ServletOutputStream getOutputStream() throws IOException {
    return new ServletOutputStream() {
        @Override
        public boolean isReady() {
            return false;
        }

        @Override
        public void setWriteListener(WriteListener writeListener) {

        }

        private TeeOutputStream tee = new TeeOutputStream(ResponseWrapper.super.getOutputStream(), bos);

        @Override
        public void write(int b) throws IOException {
            tee.write(b);
        }
    };
}
ServletResponseWrapper.java 文件源码 项目:fauxjsp 阅读 35 收藏 0 点赞 0 评论 0
@Override
public ServletOutputStream getOutputStream() throws IOException {
    if (servletOutputStream == null){
        servletOutputStream = new ServletOutputStream() {

            @Override
            public void write(int b) throws IOException {
                out.write(b);
            }

            @Override
            public void setWriteListener(WriteListener wl) {
                writeListener = wl;
            }

            @Override
            public boolean isReady() {
                return true;
            }
        };
    }
    return servletOutputStream;
}
MockHttpServletResponse.java 文件源码 项目:fauxjsp 阅读 30 收藏 0 点赞 0 评论 0
@Override
public ServletOutputStream getOutputStream() throws IOException {
    if (out == null){
        out = new ServletOutputStream() {

            @Override
            public void write(int b) throws IOException {
                baos.write(b);
            }

            @Override
            public void setWriteListener(WriteListener writeListener) {
            }

            @Override
            public boolean isReady() {
                return false;
            }
        };
    }
    return out;
}
ResponseWrapper.java 文件源码 项目:app-engine 阅读 35 收藏 0 点赞 0 评论 0
@Override
public ServletOutputStream getOutputStream() throws IOException {
    return new ServletOutputStream() {
        private TeeOutputStream tee = new TeeOutputStream(ResponseWrapper.super.getOutputStream(), bos);

        @Override
        public boolean isReady() {
            return true;
        }

        @Override
        public void setWriteListener(WriteListener writeListener) {
        }

        @Override
        public void write(int b) throws IOException {
            tee.write(b);
        }
    };
}
FakeHttpServletResponse.java 文件源码 项目:gerrit 阅读 40 收藏 0 点赞 0 评论 0
@Override
public synchronized ServletOutputStream getOutputStream() {
  checkState(writer == null, "getWriter() already called");
  if (outputStream == null) {
    outputStream =
        new ServletOutputStream() {
          @Override
          public void write(int c) throws IOException {
            actualBody.write(c);
          }

          @Override
          public boolean isReady() {
            return true;
          }

          @Override
          public void setWriteListener(WriteListener listener) {
            throw new UnsupportedOperationException();
          }
        };
  }
  return outputStream;
}
AuthenticatedLoginHttpResponse.java 文件源码 项目:plugins_github 阅读 32 收藏 0 点赞 0 评论 0
@Override
public ServletOutputStream getOutputStream() throws IOException {
  return new ServletOutputStream() {

    @Override
    public void write(int b) throws IOException {
      outputStream.write(b);
    }

    @Override
    public void setWriteListener(WriteListener arg0) {}

    @Override
    public boolean isReady() {
      return true;
    }
  };
}
DispatchedHttpServletResponse.java 文件源码 项目:mhus-osgi-tools 阅读 32 收藏 0 点赞 0 评论 0
public ServletOutputStream getOutputStream() throws IOException {
//      return instace.getOutputStream();
        if (os == null) {
            os = new ByteArrayOutputStream();
            sos = new ServletOutputStream() {

                @Override
                public void write(int b) throws IOException {
                    os.write(b);
                }

                @Override
                public boolean isReady() {
                    return true;
                }

                @Override
                public void setWriteListener(WriteListener writeListener) {
                }
            };
        }
        return sos;
    }
ByteArrayResponseWrapper.java 文件源码 项目:SciGraph 阅读 73 收藏 0 点赞 0 评论 0
@Override
public ServletOutputStream getOutputStream() {
  return new ServletOutputStream() {
    @Override
    public void write(int b) {
      baos.write(b);
    }

    @Override
    public boolean isReady() {
      return true;
    }

    @Override
    public void setWriteListener(WriteListener writeListener) {}
  };
}
ResponseWrapper.java 文件源码 项目:BikeMan 阅读 34 收藏 0 点赞 0 评论 0
@Override
public ServletOutputStream getOutputStream() throws IOException {
    return new ServletOutputStream() {
        private TeeOutputStream tee = new TeeOutputStream(ResponseWrapper.super.getOutputStream(), bos);

        @Override
        public void write(int b) throws IOException {
            tee.write(b);
        }

        @Override
        public boolean isReady() {
            // Auto-generated method stub
            return false;
        }

        @Override
        public void setWriteListener(WriteListener listener) {
            // Auto-generated method stub
        }
    };
}
MockHtppServletResponse.java 文件源码 项目:sql-analytic 阅读 27 收藏 0 点赞 0 评论 0
@Override
public ServletOutputStream getOutputStream() throws IOException {

    return new ServletOutputStream(){

        @Override
        public boolean isReady() {              
            return true;
        }

        @Override
        public void setWriteListener(WriteListener writeListener) {


        }

        @Override
        public void write(int b) throws IOException {
            out.write(b);               
        }

    };
}
InputStreamDownloadTest.java 文件源码 项目:vraptor4 阅读 30 收藏 0 点赞 0 评论 0
@Before
public void setUp() throws Exception {
    MockitoAnnotations.initMocks(this);

    bytes = new byte[] { (byte) 0x0 };
    inputStream = new ByteArrayInputStream(bytes);
    outputStream = new ByteArrayOutputStream();

    socketStream = new ServletOutputStream() {
        @Override
        public void write(int b) throws IOException {
            outputStream.write(b);
        }

        @Override
        public boolean isReady() {
            return false;
        }

        @Override
        public void setWriteListener(WriteListener writeListener) {
        }
    };

    when(response.getOutputStream()).thenReturn(socketStream);
}
ByteArrayDownloadTest.java 文件源码 项目:vraptor4 阅读 34 收藏 0 点赞 0 评论 0
@Before
public void setUp() throws Exception {
    MockitoAnnotations.initMocks(this);

    bytes = new byte[] { (byte) 0x0 };
    outputStream = new ByteArrayOutputStream();

    socketStream = new ServletOutputStream() {
        @Override
        public void write(int b) throws IOException {
            outputStream.write(b);
        }

        @Override
        public boolean isReady() {
            return false;
        }

        @Override
        public void setWriteListener(WriteListener writeListener) {
        }
    };

    when(response.getOutputStream()).thenReturn(socketStream);
}
TestStandardHttpServletResponseEx.java 文件源码 项目:incubator-servicecomb-java-chassis 阅读 28 收藏 0 点赞 0 评论 0
@Test
public void flushBuffer() throws IOException {
  Buffer buffer = Buffer.buffer();
  ServletOutputStream output = new ServletOutputStream() {
    @Override
    public boolean isReady() {
      return true;
    }

    @Override
    public void setWriteListener(WriteListener writeListener) {

    }

    @Override
    public void write(int b) throws IOException {
      buffer.appendByte((byte) b);
    }

  };
  response = new MockUp<HttpServletResponse>() {
    @Mock
    ServletOutputStream getOutputStream() {
      return output;
    }
  }.getMockInstance();
  responseEx = new StandardHttpServletResponseEx(response);

  // no body
  responseEx.flushBuffer();
  Assert.assertEquals(0, buffer.length());

  Buffer body = Buffer.buffer().appendString("body");
  responseEx.setBodyBuffer(body);
  responseEx.flushBuffer();
  Assert.assertEquals("body", buffer.toString());
}
ServletOutputStreamImpl.java 文件源码 项目:lams 阅读 31 收藏 0 点赞 0 评论 0
@Override
public void setWriteListener(final WriteListener writeListener) {
    if (writeListener == null) {
        throw UndertowServletMessages.MESSAGES.listenerCannotBeNull();
    }
    if (listener != null) {
        throw UndertowServletMessages.MESSAGES.listenerAlreadySet();
    }
    final ServletRequest servletRequest = servletRequestContext.getServletRequest();
    if (!servletRequest.isAsyncStarted()) {
        throw UndertowServletMessages.MESSAGES.asyncNotStarted();
    }
    asyncContext = (AsyncContextImpl) servletRequest.getAsyncContext();
    listener = writeListener;
    //we register the write listener on the underlying connection
    //so we don't have to force the creation of the response channel
    //under normal circumstances this will break write listener delegation
    this.internalListener = new WriteChannelListener();
    if(this.channel != null) {
        this.channel.getWriteSetter().set(internalListener);
    }
    //we resume from an async task, after the request has been dispatched
    asyncContext.addAsyncTask(new Runnable() {
        @Override
        public void run() {
            if(channel == null) {
                servletRequestContext.getExchange().getIoThread().execute(new Runnable() {
                    @Override
                    public void run() {
                        internalListener.handleEvent(null);
                    }
                });
            } else {
                channel.resumeWrites();
            }
        }
    });
}
HelloJettyServletTest.java 文件源码 项目:light 阅读 29 收藏 0 点赞 0 评论 0
@Test
public void testDoGet() throws ServletException, IOException
{
    final HttpServletRequest request = mock(HttpServletRequest.class);
    final HttpServletResponse response = mock(HttpServletResponse.class);

    when(response.getStatus()).thenReturn(200);

    when(response.getOutputStream()).thenReturn(new ServletOutputStream()
    {
        @Override
        public void write(final byte b[]) throws IOException
        {
            assertThat(new String(b), is("hello"));
        }

        @Override
        public void write(final int i) throws IOException
        {}

        @Override
        public boolean isReady()
        {
            return false;
        }

        @Override
        public void setWriteListener(final WriteListener writeListener)
        {}
    });

    HelloJettyServlet servlet = new HelloJettyServlet();
    servlet.doGet(request, response);

    assertThat(response.getStatus(), is(200));
}
HelloServletTest.java 文件源码 项目:light 阅读 32 收藏 0 点赞 0 评论 0
@Test
public void testDoGet() throws ServletException, IOException
{
    final HttpServletRequest request = mock(HttpServletRequest.class);
    final HttpServletResponse response = mock(HttpServletResponse.class);

    when(response.getStatus()).thenReturn(200);

    when(response.getOutputStream()).thenReturn(new ServletOutputStream()
    {
        @Override
        public void write(final byte b[]) throws IOException
        {
            assertThat(new String(b), is("hello"));
        }

        @Override
        public void write(final int i) throws IOException
        {}

        @Override
        public boolean isReady()
        {
            return false;
        }

        @Override
        public void setWriteListener(final WriteListener writeListener)
        {}
    });

    HelloServlet servlet = new HelloServlet();
    servlet.doGet(request, response);

    assertThat(response.getStatus(), is(200));
}
TestHttpResponseWrapper.java 文件源码 项目:HttpSessionReplacer 阅读 31 收藏 0 点赞 0 评论 0
@Before
public void setupWrapper() throws IOException {
  requestWrapper = mock(HttpRequestWrapper.class);
  response = mock(HttpServletResponse.class);
  manager = mock(SessionManager.class);
  configuration = new SessionConfiguration();
  when(manager.getConfiguration()).thenReturn(configuration);
  when(requestWrapper.getManager()).thenReturn(manager );
  responseWrapper = new HttpResponseWrapper31(requestWrapper, response);
  outputStream = new ByteArrayOutputStream();
  outputWriter = new StringWriter();
  when(response.getOutputStream()).thenReturn(new ServletOutputStream() {
    @Override
    public void write(int b) throws IOException {
      outputStream.write(b);
    }

    @Override
    public void setWriteListener(WriteListener writeListener) {
    }

    @Override
    public boolean isReady() {
      return false;
    }
  });
  when(response.getWriter()).thenReturn(new PrintWriter(outputWriter));
}
HtmlResponseWrapper.java 文件源码 项目:rainbow-rest 阅读 53 收藏 0 点赞 0 评论 0
@Override
public ServletOutputStream getOutputStream() {
    if (writer != null) {
        throw new IllegalStateException(
                "getWriter() has already been called on this response.");
    }

    if (output == null) {
        output = new ServletOutputStream() {
            @Override
            public void write(int b) throws IOException {
                capture.write(b);
            }

            @Override
            public void flush() throws IOException {
                capture.flush();
            }

            @Override
            public void close() throws IOException {
                capture.close();
            }

            @Override
            public boolean isReady() {
                return false;
            }

            @Override
            public void setWriteListener(WriteListener arg0) {
            }
        };
    }

    return output;
}
WebUtil.java 文件源码 项目:anyline 阅读 41 收藏 0 点赞 0 评论 0
/**
 * 解析jsp成html 只能解析当前应用下的jsp文件
 * @param request
 * @param response
 * @param file "/WEB-INF/page/index.jsp"
 * @return
 * @throws ServletException
 * @throws IOException
 */
public static String parseJsp(HttpServletRequest request, HttpServletResponse response, String file) throws ServletException, IOException {
    ServletContext servlet = request.getServletContext();
    RequestDispatcher dispatcher = servlet.getRequestDispatcher(file);
    final ByteArrayOutputStream os = new ByteArrayOutputStream();
    final ServletOutputStream stream = new ServletOutputStream() {
        public void write(byte[] data, int offset, int length) {
            os.write(data, offset, length);
        }
        public void write(int b) throws IOException {
            os.write(b);
        }
        @Override
        public boolean isReady() {
            return false;
        }

        @Override                    
        public void setWriteListener(WriteListener arg0) {}
    };
    final PrintWriter writer = new PrintWriter(new OutputStreamWriter(os));
    HttpServletResponse resp = new HttpServletResponseWrapper(response) {
        public ServletOutputStream getOutputStream() {
            return stream;
        }
        public PrintWriter getWriter() {
            return writer;
        }
    };
    dispatcher.include(request, resp);
    writer.flush();
    String result = os.toString();
    if(ConfigTable.isDebug() && !"false".equals(ConfigTable.getString("PARSE_JSP_LOG"))){
        log.warn("[LOAD JSP TEMPLATE][FILE:"+file+"][HTML:"+result+"]");
    }
    return result;
}
GZIPResponseStream.java 文件源码 项目:SilentGo 阅读 33 收藏 0 点赞 0 评论 0
@Override
public void setWriteListener(WriteListener writeListener) {
    try {
        writeListener.onWritePossible();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
ServletOutputStreamWrapper.java 文件源码 项目:AvunaHTTPD-Java 阅读 33 收藏 0 点赞 0 评论 0
@Override
public void setWriteListener(WriteListener arg0) {
    try {
        this.wl = arg0;
        lock = true;
        arg0.onWritePossible();
        lock = false;
    }catch (IOException e) {
        response.request.host.logger.logError(e);
    }
}
LocationHeaderFilter.java 文件源码 项目:che_orion_api 阅读 33 收藏 0 点赞 0 评论 0
@Override
public void setWriteListener(WriteListener arg0) {
    try {
        arg0.onWritePossible();
    } catch (IOException e) {
    }
}
Widget.java 文件源码 项目:fengduo 阅读 44 收藏 0 点赞 0 评论 0
public ServletOutputStream getOutputStream() {
    if (isWriterUsed) {
        throw new IllegalStateException("Unexpected internal error during import: "
                                        + "Target servlet called getOutputStream(), then getWriter()");
    }
    isStreamUsed = true;
    if (bos == null) {
        bos = new ByteArrayOutputStream();
    }
    ServletOutputStream sos = new ServletOutputStream() {

        public void write(int b) throws IOException {
            bos.write(b);
        }

        @Override
        public boolean isReady() {
            return false;
        }

        @Override
        public void setWriteListener(WriteListener writeListener) {

        }
    };
    return sos;
}
WebResponseWrapper.java 文件源码 项目:fengduo 阅读 32 收藏 0 点赞 0 评论 0
public ServletOutputStream getOutputStream() {
    if (isWriterUsed) {
        logger.error("Unexpected internal error during import: Target servlet called getOutputStream(), then getWriter()");
        throw new IllegalStateException(
                                        "Unexpected internal error during import: Target servlet called getOutputStream(), then getWriter()");
    }
    isStreamUsed = true;
    if (bos == null) {
        bos = new ByteArrayOutputStream();
    }
    ServletOutputStream sos = new ServletOutputStream() {

        public void write(int b) throws IOException {
            bos.write(b);
        }

        @Override
        public boolean isReady() {
            return false;
        }

        @Override
        public void setWriteListener(WriteListener writeListener) {

        }
    };
    return sos;
}
EvoHttpServletResponse.java 文件源码 项目:evosuite 阅读 34 收藏 0 点赞 0 评论 0
@Override
public ServletOutputStream getOutputStream() throws IOException,IllegalStateException {
    if(writer != null){
        throw new IllegalStateException("Get stream failed because get writer has already been called");
    }

    if(stream == null) {
        stream = new ServletOutputStream() {
            @Override
            public boolean isReady() {
                return true;
            }

            @Override
            public void setWriteListener(WriteListener writeListener) {
                //TODO
            }

            @Override
            public void write(int b) throws IOException {
                buffer.add((byte) b);
            }

            @Override
            public void flush() throws IOException {
                committed = true;
                super.flush();
            }

            @Override
            public void close() throws IOException {
                committed = true;
                super.close();
            }
        };
    }
    return stream;
}


问题


面经


文章

微信
公众号

扫码关注公众号