示例#1
0
 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);
 }
示例#2
0
 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;
 }
示例#3
0
 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);
   }
 }
示例#4
0
 public static void releasePayload(HttpMessage from) {
   if (from.getPayload() != null) from.getPayload().release();
 }
示例#5
0
 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());
   }
 }