@Test public void testCachedPut() throws Exception { HttpFields header = new HttpFields(); header.put("Connection", "Keep-Alive"); header.put("tRansfer-EncOding", "CHUNKED"); header.put("CONTENT-ENCODING", "gZIP"); ByteBuffer buffer = BufferUtils.allocate(1024); BufferUtils.flipToFill(buffer); HttpGenerator.putTo(header, buffer); BufferUtils.flipToFlush(buffer, 0); String out = BufferUtils.toString(buffer).toLowerCase(); Assert.assertThat( out, Matchers.containsString( (HttpHeader.CONNECTION + ": " + HttpHeaderValue.KEEP_ALIVE).toLowerCase())); Assert.assertThat( out, Matchers.containsString( (HttpHeader.TRANSFER_ENCODING + ": " + HttpHeaderValue.CHUNKED).toLowerCase())); Assert.assertThat( out, Matchers.containsString( (HttpHeader.CONTENT_ENCODING + ": " + HttpHeaderValue.GZIP).toLowerCase())); }
@Test public void testCRLF() throws Exception { HttpFields header = new HttpFields(); header.put("name0", "value\r\n0"); header.put("name\r\n1", "value1"); header.put("name:2", "value:\r\n2"); ByteBuffer buffer = BufferUtils.allocate(1024); BufferUtils.flipToFill(buffer); HttpGenerator.putTo(header, buffer); BufferUtils.flipToFlush(buffer, 0); String out = BufferUtils.toString(buffer); assertThat(out, containsString("name0: value 0")); assertThat(out, containsString("name??1: value1")); assertThat(out, containsString("name?2: value: 2")); }
@Test public void testPutTo() throws Exception { HttpFields header = new HttpFields(); header.put("name0", "value0"); header.put("name1", "value:A"); header.add("name1", "value:B"); header.add("name2", ""); ByteBuffer buffer = BufferUtils.allocate(1024); BufferUtils.flipToFill(buffer); HttpGenerator.putTo(header, buffer); BufferUtils.flipToFlush(buffer, 0); String result = BufferUtils.toString(buffer); assertThat(result, Matchers.containsString("name0: value0")); assertThat(result, Matchers.containsString("name1: value:A")); assertThat(result, Matchers.containsString("name1: value:B")); }