Class HttpParser


  • class HttpParser
    extends java.lang.Object
    • Field Detail

      • bufferMaxSize

        private final int bufferMaxSize
      • maxHeaderSize

        private final int maxHeaderSize
      • buffer

        private volatile java.nio.ByteBuffer buffer
      • headerParsed

        private volatile boolean headerParsed
      • expectContent

        private volatile boolean expectContent
      • protocolVersion

        private volatile java.lang.String protocolVersion
      • code

        private volatile int code
      • complete

        private volatile boolean complete
    • Constructor Detail

      • HttpParser

        HttpParser​(int maxHeaderSize,
                   int bufferMaxSize)
    • Method Detail

      • reset

        void reset​(boolean expectContent)
      • isHeaderParsed

        boolean isHeaderParsed()
      • isComplete

        boolean isComplete()
      • saveRemaining

        private void saveRemaining​(java.nio.ByteBuffer input)
      • decodeInitialLineFromBuffer

        private boolean decodeInitialLineFromBuffer​(java.nio.ByteBuffer input)
                                             throws ParseException
        Throws:
        ParseException
      • parseHeadersFromBuffer

        boolean parseHeadersFromBuffer​(java.nio.ByteBuffer input,
                                       boolean parsingTrailerHeaders)
                                throws ParseException
        Throws:
        ParseException
      • parseHeaderFromBuffer

        private boolean parseHeaderFromBuffer​(java.nio.ByteBuffer input,
                                              boolean parsingTrailerHeaders)
                                       throws ParseException
        Throws:
        ParseException
      • parseHeaderValue

        private int parseHeaderValue​(java.nio.ByteBuffer input,
                                     boolean parsingTrailerHeaders)
                              throws ParseException
        Throws:
        ParseException
      • isInseparableHeader

        private boolean isInseparableHeader()
      • findSpace

        private int findSpace​(java.nio.ByteBuffer input,
                              int offset,
                              int packetLimit)
      • findEOL

        private boolean findEOL​(java.nio.ByteBuffer input)
      • checkEOL

        private int checkEOL​(java.nio.ByteBuffer input)
      • checkCRLF

        private int checkCRLF​(byte b1,
                              byte b2)
      • parseString

        private java.lang.String parseString​(java.nio.ByteBuffer input,
                                             int startIdx,
                                             int endIdx)
                                      throws ParseException
        Throws:
        ParseException