/** * Creates a header with a name and one or more values. * * @param name header name * @param values header values * @return created header */ public static HttpHeader header(String name, String... values) { checkArgument(values.length > 0, "must give at least one value"); return new HttpHeader(checkNotNull(name), ImmutableList.copyOf(values)); }
@Test public void equalsBehavesCorrectly() { HttpHeader base = header("name", "value"); HttpHeader same = header("name", "value"); HttpHeader different = header("name", "value1"); assertThat(base.equals(null), is(false)); assertThat(base.equals(base), is(true)); assertThat(base.equals(same), is(true)); assertThat(base.equals(different), is(false)); }
@Override public Iterator<HttpHeader> iterator() { return stream(nettyHeaders.spliterator(), false) .map(header -> header(header.getKey(), header.getValue())) .iterator(); }
@Override public Iterator<HttpHeader> iterator() { return stream(nettyHeaders.spliterator(), false) .map(header -> header(header.getKey(), header.getValue())) .iterator(); }
/** * Creates a header with a name and one or more values. * * @param name header name * @param values header values * @return created header */ public static HttpHeader header(String name, String... values) { checkArgument(values.length > 0, "must give at least one value"); return new HttpHeader(requireNonNull(name), ImmutableList.copyOf(values)); }
@Test(expectedExceptions = NullPointerException.class) public void valuesCannotBeNull() { header("name", "value1", null, "value2"); } }
private void prepareRequest(HttpURLConnection connection, HttpRequest request) throws IOException { connection.setRequestMethod(request.method().name()); connection.setRequestProperty("Connection", "close"); connection.setDoInput(true); for (HttpHeader httpHeader : request.headers()) { connection.addRequestProperty(httpHeader.name(), httpHeader.value()); } }
@Test(expectedExceptions = IllegalArgumentException.class) public void rejectsEmptyValuesList() { header("name", new String[0]); }