List of usage examples for io.netty.handler.codec.http DefaultFullHttpResponse trailingHeaders
HttpHeaders trailingHeaders
To view the source code for io.netty.handler.codec.http DefaultFullHttpResponse trailingHeaders.
Click Source Link
From source file:org.ebayopensource.scc.cache.NettyResponseDeserializer.java
License:Apache License
@Override public FullHttpResponse deserialize(CacheResponse cacheResp) { CompositeByteBuf byteBuf = UnpooledByteBufAllocator.DEFAULT.compositeBuffer(); if (cacheResp.getContent() != null) { byteBuf.capacity(cacheResp.getContent().length); byteBuf.setBytes(0, cacheResp.getContent()); byteBuf.writerIndex(cacheResp.getContent().length); }/*w ww. ja va 2 s . co m*/ DefaultFullHttpResponse response = new DefaultFullHttpResponse( HttpVersion.valueOf(cacheResp.getProtocalVersion()), new HttpResponseStatus(cacheResp.getCode(), cacheResp.getReasonPhrase()), byteBuf, true); HttpHeaders headers = response.headers(); List<CacheEntry<String, String>> cacheHeaders = cacheResp.getHeaders(); for (Entry<String, String> entry : cacheHeaders) { headers.add(entry.getKey(), entry.getValue()); } HttpHeaders trailingHeaders = response.trailingHeaders(); List<CacheEntry<String, String>> cacheTrailingHeaders = cacheResp.getTrailingHeaders(); for (Entry<String, String> entry : cacheTrailingHeaders) { trailingHeaders.add(entry.getKey(), entry.getValue()); } return response; }
From source file:org.ebayopensource.scc.cache.NettyResponseSerializerTest.java
License:Apache License
@Test public void testSerialize() { NettyResponseSerializer serializer = new NettyResponseSerializer(); DefaultFullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_0, HttpResponseStatus.OK); CacheResponse cacheRes = serializer.serialize(response); assertNotNull(cacheRes);//from www. ja v a 2s . c om assertEquals(HttpVersion.HTTP_1_0.toString(), cacheRes.getProtocalVersion()); assertEquals(HttpResponseStatus.OK.code(), cacheRes.getCode()); assertEquals(0, cacheRes.getContent().length); assertTrue(cacheRes.getHeaders().get(0).getKey().equals("Content-Length")); assertTrue(cacheRes.getTrailingHeaders().isEmpty()); ByteBuf content = new EmptyByteBuf(ByteBufAllocator.DEFAULT); response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_0, HttpResponseStatus.OK, content); cacheRes = serializer.serialize(response); assertEquals(0, cacheRes.getContent().length); content = UnpooledByteBufAllocator.DEFAULT.buffer(); content.writeBytes("Hello, World!".getBytes()); response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_0, HttpResponseStatus.OK, content); cacheRes = serializer.serialize(response); assertEquals("Hello, World!", new String(cacheRes.getContent())); HttpHeaders headers = response.headers(); headers.add("header1", "value1"); HttpHeaders trailingHeaders = response.trailingHeaders(); trailingHeaders.add("tHeader2", "value2"); cacheRes = serializer.serialize(response); Entry<String, String> header = cacheRes.getHeaders().get(0); assertEquals("header1", header.getKey()); assertEquals("value1", header.getValue()); Entry<String, String> tHeader = cacheRes.getTrailingHeaders().get(0); assertEquals("tHeader2", tHeader.getKey()); assertEquals("value2", tHeader.getValue()); }