Examples of HTTPParsingMachine


Examples of io.apigee.trireme.net.HTTPParsingMachine

            return CLASS_NAME;
        }

        private void init(int type)
        {
            parser = new HTTPParsingMachine(
                (type == REQUEST) ? HTTPParsingMachine.ParsingMode.REQUEST : HTTPParsingMachine.ParsingMode.RESPONSE);
        }
View Full Code Here

Examples of io.apigee.trireme.net.HTTPParsingMachine

    @Test
    public void testCompleteRequestLengthSplit3()
    {
        ByteBuffer whole = Utils.stringToBuffer(COMPLETE_REQUEST_LENGTH, Charsets.ASCII);
        HTTPParsingMachine parser = new HTTPParsingMachine(HTTPParsingMachine.ParsingMode.REQUEST);

        // Split right down the middle of the request line
        ByteBuffer split = splitBuffer(whole, 26);
        HTTPParsingMachine.Result r = parser.parse(split);
        assertFalse(r.isError());
        assertFalse(r.isComplete());
        assertFalse(r.isHeadersComplete());

        // Process the rest of the message
        r = parser.parse(whole);
        assertFalse(r.isError());
        assertTrue(r.isComplete());
        assertTrue(r.isHeadersComplete());
        assertEquals("GET", r.getMethod());
        assertEquals("/foo/bar/baz", r.getUri());
        assertEquals("Myself", getFirstHeader(r, "User-Agent"));
        assertEquals("Hello, World!", Utils.bufferToString(r.getBody(), Charsets.ASCII));
        parser.parse(null);
    }
View Full Code Here

Examples of io.apigee.trireme.net.HTTPParsingMachine

    @Test
    public void testCompleteRequestLengthSplit4()
    {
        ByteBuffer whole = Utils.stringToBuffer(COMPLETE_REQUEST_LENGTH, Charsets.ASCII);
        HTTPParsingMachine parser = new HTTPParsingMachine(HTTPParsingMachine.ParsingMode.REQUEST);

        // Split right down the middle of the request line
        ByteBuffer split = splitBuffer(whole, 27);
        HTTPParsingMachine.Result r = parser.parse(split);
        assertFalse(r.isError());
        assertFalse(r.isComplete());
        assertFalse(r.isHeadersComplete());

        // Process the rest of the message
        r = parser.parse(whole);
        assertFalse(r.isError());
        assertTrue(r.isComplete());
        assertTrue(r.isHeadersComplete());
        assertEquals("GET", r.getMethod());
        assertEquals("/foo/bar/baz", r.getUri());
        assertEquals("Myself", getFirstHeader(r, "User-Agent"));
        assertEquals("Hello, World!", Utils.bufferToString(r.getBody(), Charsets.ASCII));
        parser.parse(null);
    }
View Full Code Here

Examples of io.apigee.trireme.net.HTTPParsingMachine

public class HTTPParserTest
{
    @Test
    public void testCompleteRequestLength()
    {
        HTTPParsingMachine parser = new HTTPParsingMachine(HTTPParsingMachine.ParsingMode.REQUEST);
        HTTPParsingMachine.Result r =
            parser.parse(Utils.stringToBuffer(COMPLETE_REQUEST_LENGTH, Charsets.ASCII));
        assertFalse(r.isError());
        assertTrue(r.isComplete());
        assertTrue(r.isHeadersComplete());
        assertTrue(r.hasHeaders());
        assertTrue(r.hasBody());
        assertEquals(1, r.getMajor());
        assertEquals(1, r.getMinor());
        assertEquals("GET", r.getMethod());
        assertEquals("/foo/bar/baz", r.getUri());
        assertEquals("Myself", getFirstHeader(r, "User-Agent"));
        assertEquals("Hello, World!", Utils.bufferToString(r.getBody(), Charsets.ASCII));
        parser.parse(null);
    }
View Full Code Here

Examples of io.apigee.trireme.net.HTTPParsingMachine

    }

    @Test
    public void testCompleteRequestLengthBlankHeader()
    {
        HTTPParsingMachine parser = new HTTPParsingMachine(HTTPParsingMachine.ParsingMode.REQUEST);
        HTTPParsingMachine.Result r =
            parser.parse(Utils.stringToBuffer(COMPLETE_REQUEST_LENGTH_BLANK_HDR, Charsets.ASCII));
        assertFalse(r.isError());
        assertTrue(r.isComplete());
        assertTrue(r.isHeadersComplete());
        assertTrue(r.hasHeaders());
        assertTrue(r.hasBody());
        assertEquals(1, r.getMajor());
        assertEquals(1, r.getMinor());
        assertEquals("GET", r.getMethod());
        assertEquals("/foo/bar/baz", r.getUri());
        assertEquals("", getFirstHeader(r, "User-Agent"));
        assertEquals("Hello, World!", Utils.bufferToString(r.getBody(), Charsets.ASCII));
        parser.parse(null);
    }
View Full Code Here

Examples of io.apigee.trireme.net.HTTPParsingMachine

    }

    @Test
    public void testCompleteRequestLengthReset()
    {
        HTTPParsingMachine parser = new HTTPParsingMachine(HTTPParsingMachine.ParsingMode.REQUEST);
        for (int i = 0; i < 3; i++) {
            HTTPParsingMachine.Result r =
                parser.parse(Utils.stringToBuffer(COMPLETE_REQUEST_LENGTH, Charsets.ASCII));
            assertFalse(r.isError());
            assertTrue(r.isComplete());
            assertTrue(r.isHeadersComplete());
            assertTrue(r.hasHeaders());
            assertTrue(r.hasBody());
            assertEquals(1, r.getMajor());
            assertEquals(1, r.getMinor());
            assertEquals("GET", r.getMethod());
            assertEquals("/foo/bar/baz", r.getUri());
            assertEquals("Myself", getFirstHeader(r, "User-Agent"));
            assertEquals("Hello, World!", Utils.bufferToString(r.getBody(), Charsets.ASCII));
            parser.parse(null);
            parser.reset();
        }
    }
View Full Code Here

Examples of io.apigee.trireme.net.HTTPParsingMachine

    }

    @Test
    public void testCompleteRequestNoLength()
    {
        HTTPParsingMachine parser = new HTTPParsingMachine(HTTPParsingMachine.ParsingMode.REQUEST);
        HTTPParsingMachine.Result r =
            parser.parse(Utils.stringToBuffer(COMPLETE_REQUEST_NOLENGTH, Charsets.ASCII));
        assertFalse(r.isError());
        assertTrue(r.isComplete());
        assertTrue(r.isHeadersComplete());
        assertTrue(r.hasHeaders());
        assertFalse(r.hasBody());
        assertEquals(1, r.getMajor());
        assertEquals(1, r.getMinor());
        assertEquals("GET", r.getMethod());
        assertEquals("/foo/bar/baz", r.getUri());
        assertEquals("Myself", getFirstHeader(r, "User-Agent"));
        parser.parse(null);
    }
View Full Code Here

Examples of io.apigee.trireme.net.HTTPParsingMachine

        pipelineTest(COMPLETE_REQUEST_NOLENGTH  + "\r\n" + COMPLETE_REQUEST_NOLENGTH + "\r\n" + COMPLETE_REQUEST_NOLENGTH);
    }

    private void pipelineTest(String requests)
    {
        HTTPParsingMachine parser = new HTTPParsingMachine(HTTPParsingMachine.ParsingMode.REQUEST);
        ByteBuffer buf = Utils.stringToBuffer(requests, Charsets.ASCII);
        HTTPParsingMachine.Result r = parser.parse(buf);
        assertFalse(r.isError());
        assertTrue(r.isComplete());
        assertTrue(r.isHeadersComplete());
        assertTrue(r.hasHeaders());
        assertFalse(r.hasBody());
        assertEquals(1, r.getMajor());
        assertEquals(1, r.getMinor());
        assertEquals("GET", r.getMethod());
        assertEquals("/foo/bar/baz", r.getUri());
        assertEquals("Myself", getFirstHeader(r, "User-Agent"));

        assertTrue(buf.hasRemaining());
        parser.reset();
        r = parser.parse(buf);
        assertFalse(r.isError());
        assertTrue(r.isComplete());
        assertTrue(r.isHeadersComplete());
        assertTrue(r.hasHeaders());
        assertFalse(r.hasBody());
        assertEquals(1, r.getMajor());
        assertEquals(1, r.getMinor());
        assertEquals("GET", r.getMethod());
        assertEquals("/foo/bar/baz", r.getUri());
        assertEquals("Myself", getFirstHeader(r, "User-Agent"));

        assertTrue(buf.hasRemaining());
        parser.reset();
        r = parser.parse(buf);
        assertFalse(r.isError());
        assertTrue(r.isComplete());
        assertTrue(r.isHeadersComplete());
        assertTrue(r.hasHeaders());
        assertFalse(r.hasBody());
        assertEquals(1, r.getMajor());
        assertEquals(1, r.getMinor());
        assertEquals("GET", r.getMethod());
        assertEquals("/foo/bar/baz", r.getUri());
        assertEquals("Myself", getFirstHeader(r, "User-Agent"));

        assertFalse(buf.hasRemaining());
        parser.parse(null);
    }
View Full Code Here

Examples of io.apigee.trireme.net.HTTPParsingMachine

    }

    @Test
    public void testCompleteResponseLength()
    {
        HTTPParsingMachine parser = new HTTPParsingMachine(HTTPParsingMachine.ParsingMode.RESPONSE);
        HTTPParsingMachine.Result r =
            parser.parse(Utils.stringToBuffer(COMPLETE_RESPONSE_LENGTH, Charsets.ASCII));
        assertFalse(r.isError());
        assertTrue(r.isComplete());
        assertTrue(r.isHeadersComplete());
        assertTrue(r.hasHeaders());
        assertTrue(r.hasBody());
        assertEquals(1, r.getMajor());
        assertEquals(1, r.getMinor());
        assertEquals(200, r.getStatusCode());
        assertEquals("Myself", getFirstHeader(r, "Server"));
        assertEquals("Hello, World!", Utils.bufferToString(r.getBody(), Charsets.ASCII));
        parser.parse(null);
    }
View Full Code Here

Examples of io.apigee.trireme.net.HTTPParsingMachine

    }

    @Test
    public void testCompleteResponseNophrase()
    {
        HTTPParsingMachine parser = new HTTPParsingMachine(HTTPParsingMachine.ParsingMode.RESPONSE);
        HTTPParsingMachine.Result r =
            parser.parse(Utils.stringToBuffer(COMPLETE_RESPONSE_NOPHRASE, Charsets.ASCII));
        assertFalse(r.isError());
        assertTrue(r.isComplete());
        assertTrue(r.isHeadersComplete());
        assertTrue(r.hasHeaders());
        assertTrue(r.hasBody());
        assertEquals(1, r.getMajor());
        assertEquals(1, r.getMinor());
        assertEquals(200, r.getStatusCode());
        assertEquals("Myself", getFirstHeader(r, "Server"));
        assertEquals("Hello, World!", Utils.bufferToString(r.getBody(), Charsets.ASCII));
        parser.parse(null);
    }
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.