Examples of BodyDataSink


Examples of org.xlightweb.BodyDataSink

          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

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

Examples of org.xlightweb.BodyDataSink

            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

Examples of org.xlightweb.BodyDataSink

      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

Examples of org.xlightweb.BodyDataSink

      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

Examples of org.xlightweb.BodyDataSink

       
       
        public void onRequest(IHttpExchange exchange) throws IOException, BadMessageException {
            int delay = exchange.getRequest().getIntParameter("delay", 0);
           
            BodyDataSink ds = exchange.send(new HttpResponseHeader(200, "text/plain; charset=ISO-8859-1"), 2);
            ds.flush();
            QAUtil.sleep(delay);
           
            ds.write("OK");
            ds.close();
        }
View Full Code Here

Examples of org.xlightweb.BodyDataSink

             
          // handle PUT
          } else if (request.getMethod().equalsIgnoreCase("PUT")) { 
              BodyRetryResponseHandler retryHandler = new BodyRetryResponseHandler(exchange, request.getRequestHeader().copy());
             
              final BodyDataSink dataSink = exchange.forward(request.getRequestHeader(), retryHandler);
              dataSink.setFlushmode(FlushMode.ASYNC);
             
              // BodyDataSink
             
              DuplicatingBodyForwarder forwarder = new DuplicatingBodyForwarder(request.getNonBlockingBody(), new BodyDataSinkAdapter(dataSink), retryHandler);
              request.getNonBlockingBody().setDataHandler(forwarder);
View Full Code Here

Examples of org.xlightweb.BodyDataSink

       
       
        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

Examples of org.xlightweb.BodyDataSink

       
        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

Examples of org.xlightweb.BodyDataSink

    synchronized (handlersWaitingForResponseHeader) {
      handlersWaitingForResponseHeader.add(new MessageHandler(responseHandler, requestHeader, responseTimeoutMillis));
    }

   
    BodyDataSink bodyDataSink = writeMessage(requestHeader, false);

    return bodyDataSink;   
  }
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.