Examples of IMessageHandler


Examples of org.xlightweb.AbstractHttpConnection.IMessageHandler

        }
       
        dataSource.parse(rawData);
        dataSource.onDisconnect();  
       
        IMessageHandler messageHandler = messageHeaderHandler.onMessageHeaderReceived(response);
        setMessageHandler(messageHandler);
        messageHandler.onHeaderProcessed();
  }
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.onHeaderProcessed();
         
          messageHandler.onMessageReceived();
          httpConnection.onMessageCompleteReceived(requestHeader);
         
          rawData = HttpUtils.compact(rawData);
          reset();
         
          // next request? (-> pipelining)
          if (rawData != null) {
            return onData(httpConnection, rawData);
          }               
         
          break;
         
        case FULL_MESSAGE:
          AbstractNetworkBodyDataSource dataSource = new FullMessageBodyDataSource(requestHeader, httpConnection);
          setBodyDataSource(dataSource);
         
          request = new HttpRequest(requestHeader, dataSource);
          messageHandler = messageHeaderHandler.onMessageHeaderReceived(request);
          try {
            setMessageHandler(messageHandler);
           
            setState(RECEIVING_BODY);
           
            request.getNonBlockingBody().setBodyDataReceiveTimeoutMillisSilence(httpConnection.getBodyDataReceiveTimeoutMillis());
            rawData = parserBody(httpConnection, rawData);
          } finally {
            messageHandler.onHeaderProcessed();
          }
         
          return rawData;
         
        default// BODY_TYPE_CHUNKED
          dataSource = new FullMessageChunkedBodyDataSource(httpConnection, requestHeader);
            setBodyDataSource(dataSource);
               
            request = new HttpRequest(requestHeader, dataSource);

          messageHandler = messageHeaderHandler.onMessageHeaderReceived(request);
          try {
            setMessageHandler(messageHandler);
 
            setState(RECEIVING_BODY);
 
            request.getNonBlockingBody().setBodyDataReceiveTimeoutMillis(httpConnection.getBodyDataReceiveTimeoutMillis());
            rawData = parserBody(httpConnection, rawData);
          } finally {
            messageHandler.onHeaderProcessed();
          }
         
          return 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.onHeaderProcessed();
         
          messageHandler.onMessageReceived();
          httpConnection.onMessageCompleteReceived(requestHeader);
         
          rawData = HttpUtils.compact(rawData);
          reset();
         
          // next request? (-> pipelining)
          if (rawData != null) {
            return onData(httpConnection, rawData);
          }               
         
          break;
         
        case BODY_TYPE_FULL_MESSAGE:
          AbstractNetworkBodyDataSource dataSource = new FullMessageBodyDataSource(requestHeader, requestHeader.getContentLength(), httpConnection);
          setBodyDataSource(dataSource);
         
          request = new HttpRequest(requestHeader, dataSource);
          messageHandler = messageHeaderHandler.onMessageHeaderReceived(request);
          try {
            setMessageHandler(messageHandler);
           
            setState(RECEIVING_BODY);
           
            request.getNonBlockingBody().setBodyDataReceiveTimeoutMillisSilence(httpConnection.getBodyDataReceiveTimeoutMillis());
            rawData = parserBody(httpConnection, rawData);
          } finally {
            messageHandler.onHeaderProcessed();
          }
         
          return rawData;
         
         
                case BODY_TYPE_WEBSOCKET:
                    dataSource = new FullMessageBodyDataSource(requestHeader, 8, httpConnection);
                    setBodyDataSource(dataSource);
                   
                    request = new HttpRequest(requestHeader, dataSource);
                    request.removeHeader("Content-Length");
                    messageHandler = messageHeaderHandler.onMessageHeaderReceived(request);
                    try {
                        setMessageHandler(messageHandler);
                       
                        setState(RECEIVING_BODY);
                       
                        request.getNonBlockingBody().setBodyDataReceiveTimeoutMillisSilence(httpConnection.getBodyDataReceiveTimeoutMillis());
                        rawData = parserBody(httpConnection, rawData);
                    } finally {
                        messageHandler.onHeaderProcessed();
                    }
                   
                    return rawData;
         
         
        default// BODY_TYPE_CHUNKED
          dataSource = new FullMessageChunkedBodyDataSource(httpConnection, requestHeader);
            setBodyDataSource(dataSource);
               
            request = new HttpRequest(requestHeader, dataSource);

          messageHandler = messageHeaderHandler.onMessageHeaderReceived(request);
          try {
            setMessageHandler(messageHandler);
 
            setState(RECEIVING_BODY);
 
            request.getNonBlockingBody().setBodyDataReceiveTimeoutMillis(httpConnection.getBodyDataReceiveTimeoutMillis());
            rawData = parserBody(httpConnection, rawData);
          } finally {
            messageHandler.onHeaderProcessed();
          }
         
          return 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);
            messageHandler.onHeaderProcessed();
           
            httpConnection.onMessageCompleteReceived(responseHeader);
           
            setMessageHandler(messageHandler);
            reset();
           
           
            // next response? (-> pipelining)
            if (rawData != null) {
              return onData(httpConnection, rawData);
            }   
            break;

           
          case BODY_TYPE_FULL_MESSAGE:
              AbstractNetworkBodyDataSource dataSource = new FullMessageBodyDataSource(responseHeader, responseHeader.getContentLength(), 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_WEBSOCKET:
                        dataSource = new FullMessageBodyDataSource(responseHeader, 16, httpConnection);
                        setBodyDataSource(dataSource);
                       
                        response = new HttpResponse(responseHeader, dataSource);
                        response.removeHeader("Content-Length");

                        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

Examples of org.xlightweb.AbstractHttpConnection.IMessageHandler

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

Examples of org.xlightweb.AbstractHttpConnection.IMessageHandler

          if (requestHeader != null) {
           
            httpConnection.setLastTimeHeaderReceivedMillis(System.currentTimeMillis());
            httpConnection.incCountMessageReceived();

            IMessageHandler messageHandler = httpConnection.getMessageHandler();
            if (messageHandler == null) {
              throw new IOException("no message handler set");
            }
           
           
            HttpRequest request = null;
           
            switch (getBodyType(requestHeader, messageHandler.isBodylessMessageExpected())) {
             
              case BODY_TYPE_EMTPY:
                request = new HttpRequest(requestHeader);
                reset();
                break;
               
              case BODY_TYPE_BOUND:
                setBodyParser(new FullMessageBodyParser(httpConnection, requestHeader));
                request = new HttpRequest(requestHeader, getBodyParser().getDataSource());
               
                setState(RECEIVING_BODY);
               
                request.getNonBlockingBody().setBodyDataReceiveTimeoutMillis(httpConnection.getBodyDataReceiveTimeoutMillis());
                parserBody(rawData);
                break;
               
              default// BODY_TYPE_CHUNKED
                setBodyParser(new FullMessageChunkedBodyParser(httpConnection, requestHeader));
                request = new HttpRequest(requestHeader, getBodyParser().getDataSource());

                setState(RECEIVING_BODY);

                request.getNonBlockingBody().setBodyDataReceiveTimeoutMillis(httpConnection.getBodyDataReceiveTimeoutMillis());
                parserBody(rawData);
                break;
            }
           
            messageHandler.onMessage(request);
            return;
           
          }
          break;
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
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.