Example usage for io.netty.handler.codec.http HttpHeaders size

List of usage examples for io.netty.handler.codec.http HttpHeaders size

Introduction

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

Prototype

public abstract int size();

Source Link

Document

Returns the number of headers in this object.

Usage

From source file:org.ballerinalang.stdlib.cachingclient.HttpCachingClientTest.java

License:Open Source License

@Test(description = "Tests whether the headers of a cached response are correctly updated by a validation response", enabled = false)
public void testReplaceHeaders() {
    final String cachedDateHeader = "Thu, 01 Mar 2018 15:36:34 GMT";
    final String cachedExpiresHeader = "Thu, 01 Mar 2018 15:46:34 GMT";
    final String validationDateHeader = "Thu, 01 Mar 2018 15:38:20 GMT";
    final String validationExpiresHeader = "Thu, 01 Mar 2018 15:48:20 GMT";
    final String validationTestHeader = "ballerina-replace-headers";
    final String cacheControlHeader = "no-cache=\"Set-Cookie\",max-age=120";
    final String etagHeader = "1sps79e:q0efehi8";

    BMap<String, BValue> cachedResponse = BCompileUtil.createAndGetStruct(compileResult.getProgFile(),
            PROTOCOL_PACKAGE_HTTP, RESPONSE);
    HttpCarbonMessage cachedResponseMsg = HttpUtil.createHttpCarbonMessage(false);
    cachedResponseMsg.setProperty(HTTP_STATUS_CODE, 200);
    cachedResponseMsg.setHeader(DATE, cachedDateHeader);
    cachedResponseMsg.setHeader(CACHE_CONTROL, cacheControlHeader);
    cachedResponseMsg.setHeader(EXPIRES, cachedExpiresHeader);
    cachedResponseMsg.setHeader(ETAG, etagHeader);
    initInboundResponse(cachedResponse, cachedResponseMsg);

    BMap<String, BValue> validationResponse = BCompileUtil.createAndGetStruct(compileResult.getProgFile(),
            PROTOCOL_PACKAGE_HTTP, RESPONSE);
    HttpCarbonMessage validationResponseMsg = HttpUtil.createHttpCarbonMessage(false);
    validationResponseMsg.setProperty(HTTP_STATUS_CODE, 304);
    validationResponseMsg.setHeader(DATE, validationDateHeader);
    validationResponseMsg.setHeader(CACHE_CONTROL, cacheControlHeader);
    validationResponseMsg.setHeader(EXPIRES, validationExpiresHeader);
    validationResponseMsg.setHeader(ETAG, etagHeader);
    validationResponseMsg.setHeader("test-name", validationTestHeader);
    initInboundResponse(validationResponse, validationResponseMsg);

    BValue[] inputArg = { cachedResponse, validationResponse };
    BRunUtil.invoke(compileResult, "replaceHeaders", inputArg);

    HttpHeaders updatedCachedRespHeaders = cachedResponseMsg.getHeaders();

    Assert.assertEquals(updatedCachedRespHeaders.size(), 5);
    Assert.assertEquals(updatedCachedRespHeaders.get(DATE), validationDateHeader);
    Assert.assertEquals(updatedCachedRespHeaders.get(CACHE_CONTROL), cacheControlHeader);
    Assert.assertEquals(updatedCachedRespHeaders.get(EXPIRES), validationExpiresHeader);
    Assert.assertEquals(updatedCachedRespHeaders.get(ETAG), etagHeader);
    Assert.assertEquals(updatedCachedRespHeaders.get("test-name"), validationTestHeader);
}