Examples of IMessageHandler


Examples of org.xlightweb.AbstractHttpConnection.IMessageHandler

     
      switch (getBodyType(requestHeader)) {
       
        case BODY_TYPE_EMTPY:
          request = new HttpRequest(requestHeader);
          IMessageHandler messageHandler = messageHeaderHandler.onMessageHeaderReceived(request);
          messageHandler.onMessageReceived();
         
          rawData = HttpUtils.compact(rawData);
          reset();
         
          // next request? (-> pipelining)
View Full Code Here

Examples of org.xlightweb.AbstractHttpConnection.IMessageHandler

 
    final ByteBuffer[] parserBody(AbstractHttpConnection httpConnection, ByteBuffer[] rawData) throws IOException {

        dataSource.parse(rawData);
        if (dataSource.isComplete()) {
            IMessageHandler mh = messageHandler;
            reset();
           
            if (mh != null) {
                mh.onMessageReceived();
            }
        }
       
        rawData = HttpUtils.compact(rawData);
       
View Full Code Here

Examples of org.xlightweb.AbstractHttpConnection.IMessageHandler

        switch (bodyType) {
         
          case BODY_TYPE_EMTPY:
            HttpResponse response = new HttpResponse(responseHeader);
           
            IMessageHandler messageHandler = messageHeaderHandler.onMessageHeaderReceived(response);
            setMessageHandler(messageHandler);
            reset();
           
            // next response? (-> pipelining)
            if (rawData != null) {
View Full Code Here

Examples of org.xlightweb.AbstractHttpConnection.IMessageHandler

        }
       
        dataSource.parse(rawData);
        dataSource.onDisconnect();  
       
        IMessageHandler messageHandler = messageHeaderHandler.onMessageHeaderReceived(response);
        setMessageHandler(messageHandler)
  }
View Full Code Here

Examples of org.xlightweb.AbstractHttpConnection.IMessageHandler

     
      setState(RECEIVING_BODY);
     
      parserBody(rawData);

      IMessageHandler messageHandler = httpConnection.getMessageHandler();
      if (messageHandler == null) {
        throw new IOException("no message handler set");
      }

      messageHandler.onMessage(response);
      return;
    }

   
    if (responseHeader != null) {

      httpConnection.setLastTimeHeaderReceivedMillis(System.currentTimeMillis());
      httpConnection.incCountMessageReceived();
       
      IMessageHandler messageHandler = httpConnection.getMessageHandler();
      if (messageHandler == null) {
        throw new IOException("no message handler set");
      }

      try {
       
        HttpResponse response = null;
       
        switch (getBodyType(httpConnection, responseHeader,  messageHandler.isBodylessMessageExpected())) {
         
          case BODY_TYPE_EMTPY:
            response = new HttpResponse(responseHeader);
            reset();
            break;

           
          case BODY_TYPE_BOUND:
            setBodyParser(new FullMessageBodyParser(httpConnection, responseHeader));
            response = new HttpResponse(responseHeader);
            response.setBodyDataSourceSilence(getBodyParser().getDataSource());
            setState(RECEIVING_BODY);
           
            response.getNonBlockingBody().setBodyDataReceiveTimeoutMillis(httpConnection.getBodyDataReceiveTimeoutMillis());
            parserBody(rawData);
            break;
           
          case BODY_TYPE_SIMPLE:
            setBodyParser(new SimpleMessageBodyParser(httpConnection, responseHeader));
            response = new HttpResponse(responseHeader);
            response.setBodyDataSourceSilence(getBodyParser().getDataSource());
            setState(RECEIVING_BODY);
           
            response.getNonBlockingBody().setBodyDataReceiveTimeoutMillis(httpConnection.getBodyDataReceiveTimeoutMillis());
            parserBody(rawData);
            break;
           
          case BODY_TYPE_MULTIPART_BYTERANGE:
            setBodyParser(new MultipartByteRangeMessageBodyParser(httpConnection, responseHeader));
            response = new HttpResponse(responseHeader);
            response.setBodyDataSourceSilence(getBodyParser().getDataSource());
            setState(RECEIVING_BODY);
           
            response.getNonBlockingBody().setBodyDataReceiveTimeoutMillis(httpConnection.getBodyDataReceiveTimeoutMillis());
            parserBody(rawData);
            break;
           
           
          default// BODY_TYPE_CHUNKED
            setBodyParser(new FullMessageChunkedBodyParser(httpConnection, responseHeader));
            response = new HttpResponse(responseHeader);
            response.setBodyDataSourceSilence(getBodyParser().getDataSource());
            setState(RECEIVING_BODY);

            response.getNonBlockingBody().setBodyDataReceiveTimeoutMillis(httpConnection.getBodyDataReceiveTimeoutMillis());
            parserBody(rawData);
           
            break;
        }
       
        messageHandler.onMessage(response);
        return;
     
      } catch (BadMessageException bme) {
        throw bme;
       
      } catch (IOException ioe) {
        messageHandler.onException(ioe);
        throw ioe;
      }
    }
  }
View Full Code Here

Examples of org.xlightweb.AbstractHttpConnection.IMessageHandler

        switch (bodyType) {
         
          case BODY_TYPE_EMTPY:
            HttpResponse response = new HttpResponse(responseHeader);
           
            IMessageHandler messageHandler = messageHeaderHandler.onMessageHeaderReceived(response);
            setMessageHandler(messageHandler);
            reset();
           
            // next response? (-> pipelining)
            if (rawData != null) {
View Full Code Here

Examples of org.xlightweb.AbstractHttpConnection.IMessageHandler

        }
       
        dataSource.parse(rawData);
        dataSource.onDisconnect();  
       
        IMessageHandler messageHandler = messageHeaderHandler.onMessageHeaderReceived(response);
        setMessageHandler(messageHandler)
  }
View Full Code Here

Examples of org.xlightweb.AbstractHttpConnection.IMessageHandler

 
    final ByteBuffer[] parserBody(AbstractHttpConnection httpConnection, ByteBuffer[] rawData) throws IOException {

        dataSource.parse(rawData);
        if (dataSource.isComplete()) {
            IMessageHandler mh = messageHandler;
            reset();
           
            if (mh != null) {
                mh.onMessageReceived();
            }
        }
       
        rawData = HttpUtils.compact(rawData);
       
View Full Code Here

Examples of org.xlightweb.AbstractHttpConnection.IMessageHandler

     
      switch (getBodyType(requestHeader)) {
       
        case BODY_TYPE_EMTPY:
          request = new HttpRequest(requestHeader);
          IMessageHandler messageHandler = messageHeaderHandler.onMessageHeaderReceived(request);
          messageHandler.onMessageReceived();
         
          rawData = HttpUtils.compact(rawData);
          reset();
         
          // next request? (-> pipelining)
View Full Code Here

Examples of org.xlightweb.AbstractHttpConnection.IMessageHandler

        switch (bodyType) {
         
          case BODY_TYPE_EMTPY:
            HttpResponse response = new HttpResponse(responseHeader);
           
            IMessageHandler messageHandler = messageHeaderHandler.onMessageHeaderReceived(response);
            messageHandler.onHeaderProcessed();
           
            httpConnection.onMessageCompleteReceived(responseHeader);
           
            setMessageHandler(messageHandler);
            reset();
           
           
            // next response? (-> pipelining)
            if (rawData != null) {
              return onData(httpConnection, rawData);
            }   
            break;

           
          case FULL_MESSAGE:
              AbstractNetworkBodyDataSource dataSource = new FullMessageBodyDataSource(responseHeader, httpConnection);
              setBodyDataSource(dataSource);
           
            response = new HttpResponse(responseHeader, dataSource);

                      messageHandler = messageHeaderHandler.onMessageHeaderReceived(response);
                      try {
                        setMessageHandler(messageHandler);
             
              response.getNonBlockingBody().setBodyDataReceiveTimeoutMillis(httpConnection.getBodyDataReceiveTimeoutMillis());
              rawData = parserBody(httpConnection, rawData);
                      } finally {
              messageHandler.onHeaderProcessed();
            }             
           
            break;
           
          case BODY_TYPE_SIMPLE:
              dataSource = new SimpleMessageBodyDataSource(responseHeader, httpConnection);
                        setBodyDataSource(dataSource);
           
            response = new HttpResponse(responseHeader, dataSource);
           
            messageHandler = messageHeaderHandler.onMessageHeaderReceived(response);
            try {
                    setMessageHandler(messageHandler);
             
              response.getNonBlockingBody().setBodyDataReceiveTimeoutMillis(httpConnection.getBodyDataReceiveTimeoutMillis());
              rawData = parserBody(httpConnection, rawData);
            } finally {
              messageHandler.onHeaderProcessed();
            }
            break;
           
          case BODY_TYPE_MULTIPART_BYTERANGE:             
              dataSource = new MultipartByteRangeMessageBodyDataSource(httpConnection, responseHeader);
              setBodyDataSource(dataSource);
           
            response = new HttpResponse(responseHeader, dataSource);

            messageHandler = messageHeaderHandler.onMessageHeaderReceived(response);
            try {
              setMessageHandler(messageHandler);
             
              response.getNonBlockingBody().setBodyDataReceiveTimeoutMillis(httpConnection.getBodyDataReceiveTimeoutMillis());
              rawData = parserBody(httpConnection, rawData);
            } finally {
              messageHandler.onHeaderProcessed();
            }
            break;
           
           
          default// BODY_TYPE_CHUNKED
            dataSource = new FullMessageChunkedBodyDataSource(httpConnection, responseHeader);
              setBodyDataSource(dataSource);

            response = new HttpResponse(responseHeader, dataSource);
           
            messageHandler = messageHeaderHandler.onMessageHeaderReceived(response);
            try {
              setMessageHandler(messageHandler);
             
              response.getNonBlockingBody().setBodyDataReceiveTimeoutMillis(httpConnection.getBodyDataReceiveTimeoutMillis());
              rawData = parserBody(httpConnection, rawData);
            } finally {
              messageHandler.onHeaderProcessed();
            }
           
            break;
        }       
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.