Examples of BodyDataSink


Examples of org.xlightweb.BodyDataSink

  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

Examples of org.xlightweb.BodyDataSink

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

Examples of org.xlightweb.BodyDataSink

      this.isChunkedMode = isChunkedMode;
    }
   
    public void onRequest(IHttpExchange exchange) throws IOException {
 
      BodyDataSink bodyDataSink = null;
     
      if (isChunkedMode) {
        bodyDataSink = exchange.send(new HttpResponseHeader(200, "text/plain"));
      } else {
        bodyDataSink = exchange.send(new HttpResponseHeader(200, "text/plain"), length);
View Full Code Here

Examples of org.xlightweb.BodyDataSink

 
  private static final class BadServerHandler implements IHttpRequestHandler {
   
    public void onRequest(IHttpExchange exchange) throws IOException {
     
      BodyDataSink bodyDataSink = exchange.send(new HttpResponseHeader(200, "text/plain"), 1000);
      byte[] data = QAUtil.generateByteArray(100);
      bodyDataSink.write(data);
     
      bodyDataSink.close();
   
View Full Code Here

Examples of org.xlightweb.BodyDataSink

             requestHeader.removeHeader("Expect");
         }
     }
   
   
    BodyDataSink dataSink = writeMessage(requestHeader);
   
    return dataSink;
  }
View Full Code Here

Examples of org.xlightweb.BodyDataSink

                requestHeader.removeHeader("Expect");
            }
        }


       BodyDataSink dataSink = writeMessage(requestHeader, contentLength);
      
       return dataSink;
  }
View Full Code Here

Examples of org.xlightweb.BodyDataSink

    } else {
            if (LOG.isLoggable(Level.FINE)) {
                LOG.fine("[" + getId() + "] sending (bodyless): " + request.getRequestHeader());
            }

            BodyDataSink bodyDataSink = writeMessage(request.getRequestHeader(), 0);
            bodyDataSink.setFlushmode(FlushMode.ASYNC);
            bodyDataSink.close();
    }   
  }
View Full Code Here

Examples of org.xlightweb.BodyDataSink

          }
            }
     
      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());
      }

      if (response.getStatus() != 100) {
          setResponseCommited(true);
      }
     
      BodyDataSink dataSink = HttpServerConnection.this.sendResponseMessage(response);
     
      if (transactionMonitor != null) {
          transactionMonitor.registerMessageHeaderSent(request, response.getResponseHeader(), dataSink);
         
          if (response.hasBody()) {
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.