public Http2HeadersAdaptor(Http2Headers headers) { List<CharSequence> cookies = headers.getAll(HttpHeaderNames.COOKIE); if (cookies != null && cookies.size() > 1) { // combine the cookie values into 1 header entry. // https://tools.ietf.org/html/rfc7540#section-8.1.2.5 String value = cookies.stream().collect(Collectors.joining("; ")); headers.set(HttpHeaderNames.COOKIE, value); } this.headers = headers; }
@Override public List<String> getAll(CharSequence name) { List<CharSequence> all = headers.getAll(toLowerCase(name)); return all != null ? all.stream().map(CharSequence::toString).collect(Collectors.toList()) : null; }
@Override public List<String> getAll(String name) { List<CharSequence> all = headers.getAll(toLowerCase(name)); if (all != null) { return new AbstractList<String>() { @Override public String get(int index) { return all.get(index).toString(); } @Override public int size() { return all.size(); } }; } return null; }
requestContext.headers(name.toString(), mapToString(http2Headers.headers().getAll(name)));
public Http2HeadersAdaptor(Http2Headers headers) { List<CharSequence> cookies = headers.getAll(HttpHeaderNames.COOKIE); if (cookies != null && cookies.size() > 1) { // combine the cookie values into 1 header entry. // https://tools.ietf.org/html/rfc7540#section-8.1.2.5 String value = cookies.stream().collect(Collectors.joining("; ")); headers.set(HttpHeaderNames.COOKIE, value); } this.headers = headers; }
@Override public List<String> getAll(CharSequence name) { List<CharSequence> all = headers.getAll(toLowerCase(name)); return all != null ? all.stream().map(CharSequence::toString).collect(Collectors.toList()) : null; }
@Override public List<String> getAll(String name) { List<CharSequence> all = headers.getAll(toLowerCase(name)); if (all != null) { return new AbstractList<String>() { @Override public String get(int index) { return all.get(index).toString(); } @Override public int size() { return all.size(); } }; } return null; }
@Override public List<CharSequence> getAll(CharSequence name) { return new ArrayList<CharSequence>(delegate.getAll(name)); }
@Test public void testSetObjectIterable() { headers.setObject("header", Arrays.asList((Object) ((Integer) 1), (Object) ((Integer) 2))); assertEquals(Arrays.asList("1", "2"), headers.delegate().getAll("header")); headers.setObject("header", Arrays.asList((Object) ((Integer) 3), (Object) ((Integer) 4))); assertEquals(Arrays.asList("3", "4"), headers.delegate().getAll("header")); }
@Test public void testSetCharsequenceIterable() { headers.set("header", Arrays.asList("value1", "value2")); assertEquals(Arrays.asList("value1", "value2"), headers.delegate().getAll("header")); headers.set("header", Arrays.asList("value3", "value4")); assertEquals(Arrays.asList("value3", "value4"), headers.delegate().getAll("header")); }
@Test public void testAddCharsequenceIterable() { headers.add("header", Arrays.asList("value1", "value2")); assertEquals(Arrays.asList("value1", "value2"), headers.delegate().getAll("header")); }
@Test public void testAddObjectIterable() { headers.addObject("header", Arrays.asList((Object) ((Integer) 1), (Object) ((Integer) 2))); assertEquals(Arrays.asList("1", "2"), headers.delegate().getAll("header")); }
@Test public void testSetObjectArray() { headers.setObject("header", (Object) ((Integer) 1), (Object) ((Integer) 2)); assertEquals(Arrays.asList("1", "2"), headers.delegate().getAll("header")); headers.setObject("header", (Object) ((Integer) 3), (Object) ((Integer) 4)); assertEquals(Arrays.asList("3", "4"), headers.delegate().getAll("header")); }
@Test public void testSetCharsequenceArray() { headers.set("header", "value1", "value2"); assertEquals(Arrays.asList("value1", "value2"), headers.delegate().getAll("header")); headers.set("header", "value3", "value4"); assertEquals(Arrays.asList("value3", "value4"), headers.delegate().getAll("header")); }
@Test public void testAddObjectArray() { headers.addObject("header", (Object) ((Integer) 1), (Object) ((Integer) 2)); assertEquals(Arrays.asList("1", "2"), headers.delegate().getAll("header")); }
@Test public void testAddCharsequenceArray() { headers.add("header", "value1", "value2"); assertEquals(Arrays.asList("value1", "value2"), headers.delegate().getAll("header")); }