Package org.xlightweb

Examples of org.xlightweb.BodyDataSink


      }


     
      setResponseCommited(true);
      final BodyDataSink bodyDataSink = HttpServerConnection.this.sendResponseHeader(header, contentLength)
     
      if (transactionMonitor != null) {
          transactionMonitor.registerMessageHeaderSent(request, header, bodyDataSink);

          Runnable task = new Runnable() {
View Full Code Here


            HttpResponseHeader header = new HttpResponseHeader(200);
            header.copyHeaderFrom(response.getResponseHeader());
            header.setProtocol(getRequest().getProtocol());
            header.setHeader("Connection", "close");
           
            BodyDataSink bodyDataSink = HttpServerConnection.this.sendResponseHeader(header);
           
            NonBlockingBodyDataSource bodyDataSource = response.getNonBlockingBody();
            BodyForwarder forwarder = new BodyForwarder(bodyDataSource, bodyDataSink);
            bodyDataSource.setDataHandler(forwarder);
            return;
          }
         
          // http protocol version downgrade necessary?
          if (isLargerOrEquals(response.getResponseHeader().getProtocolVersion(), getRequest().getRequestHeader().getProtocolVersion())) {
            response.getResponseHeader().setProtocol(getRequest().getProtocol());
            response.getResponseHeader().setHeader("Connection", "close");
          }
        }
      } catch (Exception e) {
        HttpResponse errorResponse = null;
        if (HttpUtils.isShowDetailedError()) {
          errorResponse = new HttpResponse(400, "text/html", generateErrorMessageHtml(400, DataConverter.toString(e), getId()));
         
        } else {
          errorResponse = new HttpResponse(400, "text/html", generateErrorMessageHtml(400, HttpUtils.getReason(400), getId()));
        }
        setResponseCommited(true);
        HttpServerConnection.this.sendResponseMessage(errorResponse);
        throw new IOException(e.toString());
      }

     
      setResponseCommited(true);
      BodyDataSink dataSink = HttpServerConnection.this.sendResponseMessage(response);
     
      if (transactionMonitor != null) {
          transactionMonitor.registerMessageHeaderSent(request, response.getResponseHeader(), dataSink);
         
          if (response.hasBody()) {
View Full Code Here

      if (responseHandler == null) {
        responseHandler = new ForwardingResponseHandler(this);
      }

     
      BodyDataSink bodyDataSink = newEmtpyBodyDataSink();
       
      // send not handled error after the data sink is closed
      setBodyCloseListener(bodyDataSink, newCloseListener(responseHandler));  

       
View Full Code Here

      if (responseHandler == null) {
        responseHandler = new ForwardingResponseHandler(this);
      }

     
      BodyDataSink bodyDataSink = newEmtpyBodyDataSink();
       
       
      // send not handled error after the data sink is closed
      setBodyCloseListener(bodyDataSink, newCloseListener(responseHandler));  
       
View Full Code Here

   
    public void onRequest(IHttpExchange exchange) throws IOException {
      HttpResponseHeader header = new HttpResponseHeader(200, "text/plain", "OK");
      header.setHeader("Connection", "close");
     
      BodyDataSink bodyDataSink = exchange.send(header, 2);
      bodyDataSink.write("OK");
      bodyDataSink.close();
    }
View Full Code Here

    con.setConnectionTimeoutMillis(1000);
   
    ResponseHandler respHdl = new ResponseHandler();
    HttpRequestHeader reqHdr = new HttpRequestHeader("POST", "/");

    BodyDataSink bodyDataSink = con.send(reqHdr, respHdl);
    bodyDataSink.write("er");
   
    QAUtil.sleep(1500);
   
    Assert.assertEquals(1, respHdl.getCountSocketException());
    Assert.assertEquals(0, respHdl.getCountIOException());
View Full Code Here

    con.setConnectionTimeoutMillis(1000);
   
    ResponseHandler2 respHdl = new ResponseHandler2();
    HttpRequestHeader reqHdr = new HttpRequestHeader("POST", "/");

    BodyDataSink bodyDataSink = con.send(reqHdr, respHdl);
    bodyDataSink.write("er");
   
    QAUtil.sleep(2000);
   
    Assert.assertEquals(1, respHdl.getCountIOException());
   
View Full Code Here

     
      int loops = exchange.getRequest().getIntParameter("loops");
      int waittime = exchange.getRequest().getIntParameter("waittime");
     
      HttpResponseHeader header = new HttpResponseHeader(200, "text/plain");
      BodyDataSink bodyDataSink = exchange.send(header);
     
      for (int i = 0; i < loops; i++) {
        bodyDataSink.write("1234567890");
        QAUtil.sleep(waittime);
      }
     
      bodyDataSink.close();
    }
View Full Code Here

         
        };
       
       
       
        BodyDataSink bodyDataSink = exchange.forward(new HttpRequestHeader("POST", exchange.getRequest().getRequestUrl().toString()), respHdl);
        bodyDataSink.write("Hel");
        QAUtil.sleep(200);
       
        bodyDataSink.write("lo");
        bodyDataSink.close();
      }
    };
   
   
    chain.addLast(filter);
View Full Code Here

        IHttpResponseHandler respHdl = new IHttpResponseHandler() {
       
          public void onResponse(IHttpResponse response) throws IOException {
           
            BodyDataSink bodyDataSink = exchange.send(new HttpResponseHeader(200, "text/plain"));
            bodyDataSink.write("Hello");
            QAUtil.sleep(200);
            bodyDataSink.write(" You");
            bodyDataSink.close();         
          }
         
          public void onException(IOException ioe) {
           
          }
View Full Code Here

TOP

Related Classes of org.xlightweb.BodyDataSink

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.