Example usage for io.netty.handler.codec.http DefaultFullHttpResponse trailingHeaders

List of usage examples for io.netty.handler.codec.http DefaultFullHttpResponse trailingHeaders

Introduction

In this page you can find the example usage for io.netty.handler.codec.http DefaultFullHttpResponse trailingHeaders.

Prototype

HttpHeaders trailingHeaders

To view the source code for io.netty.handler.codec.http DefaultFullHttpResponse trailingHeaders.

Click Source Link

Usage

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());
}