Package org.xlightweb

Examples of org.xlightweb.BodyDataSink$WriteCompletionHandlerCaller


           
            NonBlockingBodyDataSource dataSource = request.getNonBlockingBody();
           
           
            ForwarderResponseHandler forwardResponseHandler = new ForwarderResponseHandler(interaction, exchange);
            BodyDataSink dataSink = exchange.forward(request.getRequestHeader(), forwardResponseHandler);

            BodyForwarder bodyForwarder = new BodyForwarder(dataSource, dataSink) {
               
                int currentSize = 0;
               
View Full Code Here


      String filename = exchange.getRequest().getRequestURI();
     
      RandomAccessFile raf = new RandomAccessFile(filename, "r");
            HttpResponseHeader header = new HttpResponseHeader(200);
            header.addHeader("x-length", Long.toString(raf.length()));
            BodyDataSink outChannel = exchange.send(header, (int) raf.length());

            AsyncWriter asyncWriter = new AsyncWriter(outChannel, raf);
            asyncWriter.onWritten(0);
    }
View Full Code Here

    HttpClient httpClient = new HttpClient();
   

    // send the request header and one chunk
    FutureResponseHandler hdl = new FutureResponseHandler();
    BodyDataSink bodySink = httpClient.send(new HttpRequestHeader("POST", "http://localhost:" + servletEngine.getLocalPort() + "/"), hdl);
   
    bodySink.write("test");
    bodySink.flush();
   
    QAUtil.sleep(1000);

    // get the response
    IHttpResponse response = hdl.getResponse();
    Assert.assertEquals(200, response.getStatus());
    Assert.assertEquals("OK", response.getBody().readString());
   
   
    bodySink.write("test2"); // will be ignored
   
   
    httpClient.close();
    servletEngine.stop();
  }
View Full Code Here

       
       
        public BodyDataSink send(IHttpResponseHeader header) throws IOException, IllegalStateException {
           
            // return response to caller (request will not be send to remote endpoint)
            BodyDataSink dataSink = newInMemoryBodyDataSink(header.getCharacterEncoding(), executor);
           
            IHttpResponse response = new HttpResponse(header, getDataSourceOfInMemoryBodyDataSink(dataSink));
            send(response);
           
            return dataSink;
View Full Code Here

       
        public BodyDataSink send(IHttpResponseHeader header, int contentLength) throws IOException, IllegalStateException {
           
            // return response to caller (request will not be send to remote endpoint)
            BodyDataSink dataSink = newInMemoryBodyDataSink(header.getCharacterEncoding(), executor);
           
            IHttpResponse response = new HttpResponse(header, getDataSourceOfInMemoryBodyDataSink(dataSink));
            send(response);
           
            return dataSink;
View Full Code Here

 
 
  private BodyDataSink sendInternal(IHttpRequestHeader requestHeader, IHttpResponseHandler responseHandler) throws IOException, ConnectException {
    lastTimeRequestSentMillis = System.currentTimeMillis();
   
    BodyDataSink dataSink = HttpClientConnection.newInMemoryBodyDataSink(requestHeader.getCharacterEncoding(), pool.getWorkerpool());
    IHttpRequest request = new HttpRequest(requestHeader, HttpClientConnection.getDataSourceOfInMemoryBodyDataSink(dataSink));

    send(request, responseHandler);   
    return dataSink;
  }
View Full Code Here

  private BodyDataSink sendResponseHeader(IHttpResponseHeader header) throws IOException {
   
    try{
      enhanceResponseHeader(header);
     
      BodyDataSink bodyDataSink = writeMessage(header);
     
      if (!isPersistent()) {
        setBodyCloseListener(bodyDataSink, connectionCloser);
      }
     
View Full Code Here

  private BodyDataSink sendResponseHeader(IHttpResponseHeader header, int contentLength) throws IOException {

    try{
      enhanceResponseHeader(header);

      BodyDataSink bodyDataSink = writeMessage(header, contentLength);
     
      if(!isPersistent()) {
        setBodyCloseListener(bodyDataSink, connectionCloser);
      }
   
View Full Code Here

   
                if (response.getContentLength() == -1) {
                    response.setContentLength(0);
                }
   
                BodyDataSink bodyDataSink = writeMessage(responseHeader, 0);
                bodyDataSink.setFlushmode(FlushMode.ASYNC);
                bodyDataSink.close();
               
                if(!isPersistent()) {
                    closeQuitly();
                }
               
View Full Code Here

          header.setTransferEncoding("chunked");
      }
     
      setResponseCommited(true);
     
      final BodyDataSink bodyDataSink = HttpServerConnection.this.sendResponseHeader(header);
     
      if (transactionMonitor != null) {
          transactionMonitor.registerMessageHeaderSent(request, header, bodyDataSink);
         
          Runnable task = new Runnable() {
View Full Code Here

TOP

Related Classes of org.xlightweb.BodyDataSink$WriteCompletionHandlerCaller

Copyright © 2018 www.massapicom. 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.