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 static Long attemptToParseSizeAndRangeFromHeaders(HttpMessage from) throws HttpException { String contentRange = from.getFirstHeaderOrNull("Content-Range"); if (contentRange == null && from.getPayload() != null) { return from.getPayload().getContentMetadata().getContentLength(); } else if (contentRange != null) { return Long.parseLong(contentRange.substring(contentRange.lastIndexOf('/') + 1)); } return null; }
public static void wirePayloadIfEnabled(Wire wire, HttpMessage request) { if (request.getPayload() != null && wire.enabled()) { wire.output(request); checkRequestHasContentLengthOrChunkedEncoding( request, "After wiring, the request has neither chunked encoding nor content length: " + request); } }
public static void releasePayload(HttpMessage from) { if (from.getPayload() != null) from.getPayload().release(); }
private void logMessage(Logger logger, HttpMessage message, String prefix) { for (Entry<String, String> header : message.getHeaders().entries()) { if (header.getKey() != null) logger.debug("%s %s: %s", prefix, header.getKey(), header.getValue()); } if (message.getPayload() != null) { if (message.getPayload().getContentMetadata().getContentType() != null) logger.debug( "%s %s: %s", prefix, CONTENT_TYPE, message.getPayload().getContentMetadata().getContentType()); if (message.getPayload().getContentMetadata().getContentLength() != null) logger.debug( "%s %s: %s", prefix, CONTENT_LENGTH, message.getPayload().getContentMetadata().getContentLength()); byte[] md5 = message.getPayload().getContentMetadata().getContentMD5(); if (md5 != null) logger.debug("%s %s: %s", prefix, CONTENT_MD5, base64().encode(md5)); if (message.getPayload().getContentMetadata().getContentDisposition() != null) logger.debug( "%s %s: %s", prefix, CONTENT_DISPOSITION, message.getPayload().getContentMetadata().getContentDisposition()); if (message.getPayload().getContentMetadata().getContentEncoding() != null) logger.debug( "%s %s: %s", prefix, CONTENT_ENCODING, message.getPayload().getContentMetadata().getContentEncoding()); if (message.getPayload().getContentMetadata().getContentLanguage() != null) logger.debug( "%s %s: %s", prefix, CONTENT_LANGUAGE, message.getPayload().getContentMetadata().getContentLanguage()); if (message.getPayload().getContentMetadata().getExpires() != null) logger.debug( "%s %s: %s", prefix, EXPIRES, message.getPayload().getContentMetadata().getExpires()); } }