public HttpMessage build() { return new HttpMessage(headers.build(), payload); }
@Override public boolean equals(Object obj) { if (this == obj) return true; // testing equals by value, not by type if (!(obj instanceof HttpResponse)) return false; HttpResponse that = HttpResponse.class.cast(obj); return super.equals(that) && Objects.equal(this.statusCode, that.statusCode) && Objects.equal(this.message, that.message); }
public static void checkRequestHasContentLengthOrChunkedEncoding(HttpMessage request, String message) { boolean chunked = "chunked".equals(request.getFirstHeaderOrNull("Transfer-Encoding")); checkArgument(request.getPayload() == null || chunked || request.getPayload().getContentMetadata().getContentLength() != null, message); }
public T fromHttpMessage(HttpMessage in) { return this .headers(in.getHeaders()) .payload(in.getPayload()); } }
public static void releasePayload(HttpMessage from) { if (from.getPayload() != null) from.getPayload().release(); }
@Override public int hashCode() { return Objects.hashCode(method, endpoint, super.hashCode()); }
@Override public String toString() { return string().toString(); } }
/** * try to get the value, then try as lowercase. */ public String getFirstHeaderOrNull(String string) { Collection<String> values = headers.get(string); if (values.size() == 0) { Multimap<String, String> lowerCaseHeaders = Multimaps2.transformKeys(getHeaders(), new ToLowerCase()); values = lowerCaseHeaders.get(string.toLowerCase()); } return (values.size() >= 1) ? values.iterator().next() : null; }
@Test public void testMD5PayloadEnclosing() throws IOException { Payload payload = Payloads.newPayload("foo"); HttpMessage payloadEnclosing = HttpMessage.builder().payload(payload).build(); assertEquals(fn.apply(payloadEnclosing), md5().hashString("foo", UTF_8).asBytes()); }
public T fromHttpMessage(HttpMessage in) { return this .headers(in.getHeaders()) .payload(in.getPayload()); } }
public static void releasePayload(HttpMessage from) { if (from.getPayload() != null) from.getPayload().release(); }
@Override public int hashCode() { return Objects.hashCode(statusCode, message, super.hashCode()); }
@Override public String toString() { return string().toString(); } }
/** * try to get the value, then try as lowercase. */ public String getFirstHeaderOrNull(String string) { Collection<String> values = headers.get(string); if (values.isEmpty()) { Multimap<String, String> lowerCaseHeaders = Multimaps2.transformKeys(getHeaders(), new ToLowerCase()); values = lowerCaseHeaders.get(string.toLowerCase()); } return (values.size() >= 1) ? values.iterator().next() : null; }
public byte[] apply(Object from) { checkNotNull(from, "thing to md5"); PayloadEnclosing payloadEnclosing; if (from instanceof PayloadEnclosing) { payloadEnclosing = (PayloadEnclosing) from; } else { payloadEnclosing = HttpMessage.builder().payload(Payloads.newPayload(from)).build(); } if (payloadEnclosing.getPayload().getContentMetadata().getContentMD5() == null) try { Payloads.calculateMD5(payloadEnclosing); } catch (IOException e) { Throwables.propagate(e); } return payloadEnclosing.getPayload().getContentMetadata().getContentMD5(); }
public static void checkRequestHasContentLengthOrChunkedEncoding(HttpMessage request, String message) { boolean chunked = "chunked".equals(request.getFirstHeaderOrNull("Transfer-Encoding")); checkArgument(request.getPayload() == null || chunked || request.getPayload().getContentMetadata().getContentLength() != null, message); }
public T fromHttpMessage(HttpMessage in) { return this .headers(in.getHeaders()) .payload(in.getPayload()); } }
@Override public boolean equals(Object obj) { if (this == obj) return true; // testing equals by value, not by type if (!(obj instanceof HttpResponse)) return false; HttpResponse that = HttpResponse.class.cast(obj); return super.equals(that) && Objects.equal(this.statusCode, that.statusCode) && Objects.equal(this.message, that.message); }
public static void releasePayload(HttpMessage from) { if (from.getPayload() != null) from.getPayload().release(); }
@Override public int hashCode() { return Objects.hashCode(statusCode, message, super.hashCode()); }