@Override protected boolean isContentLengthInvalid(HttpMessage start, int maxContentLength) { try { return getContentLength(start, -1L) > maxContentLength; } catch (final NumberFormatException e) { return false; } }
private long contentLength() { if (contentLength == Long.MIN_VALUE) { contentLength = HttpUtil.getContentLength(message, -1L); } return contentLength; }
/** * Get an {@code int} representation of {@link #getContentLength(HttpMessage, long)}. * @return the content length or {@code defaultValue} if this message does * not have the {@code "Content-Length"} header or its value is not * a number. Not to exceed the boundaries of integer. */ public static int getContentLength(HttpMessage message, int defaultValue) { return (int) Math.min(Integer.MAX_VALUE, getContentLength(message, (long) defaultValue)); }
/** * @deprecated Use {@link HttpUtil#getContentLength(HttpMessage, long)} instead. * * Returns the length of the content. Please note that this value is * not retrieved from {@link HttpContent#content()} but from the * {@code "Content-Length"} header, and thus they are independent from each * other. * * @return the content length or {@code defaultValue} if this message does * not have the {@code "Content-Length"} header or its value is not * a number */ @Deprecated public static long getContentLength(HttpMessage message, long defaultValue) { return HttpUtil.getContentLength(message, defaultValue); }
/** * @deprecated Use {@link HttpUtil#getContentLength(HttpMessage)} instead. * * Returns the length of the content. Please note that this value is * not retrieved from {@link HttpContent#content()} but from the * {@code "Content-Length"} header, and thus they are independent from each * other. * * @return the content length * * @throws NumberFormatException * if the message does not have the {@code "Content-Length"} header * or its value is not a number */ @Deprecated public static long getContentLength(HttpMessage message) { return HttpUtil.getContentLength(message); }
@Override protected boolean hasBody(HttpRequest request) { // Http requests don't have a body if they define 0 content length, or no content length and no transfer // encoding return HttpUtil.getContentLength(request, 0) != 0 || HttpUtil.isTransferEncodingChunked(request); }
private static void setTransferEncoding(HttpMessage out) { final io.netty.handler.codec.http.HttpHeaders outHeaders = out.headers(); final long contentLength = HttpUtil.getContentLength(out, -1L); if (contentLength < 0) { // Use chunked encoding. outHeaders.set(HttpHeaderNames.TRANSFER_ENCODING, HttpHeaderValues.CHUNKED); outHeaders.remove(HttpHeaderNames.CONTENT_LENGTH); } }
req.headers().remove(HttpHeaderNames.CONTENT_LENGTH); } else if (HttpUtil.getContentLength(req, -1L) >= 0) {
if ((response.headers().contains(HttpHeaderNames.CONTENT_LENGTH) && HttpUtil.getContentLength(response) > 0) || HttpUtil.isTransferEncodingChunked(response)) {
private HttpRequestBase prepareRemoteRequest(final FullHttpRequest request, final URL url) { HttpRequestBase remoteRequest = createRemoteRequest(request, url); remoteRequest.setConfig(createRequestConfig()); long contentLength = HttpUtil.getContentLength(request, -1); if (contentLength > 0 && remoteRequest instanceof HttpEntityEnclosingRequest) { HttpEntityEnclosingRequest entityRequest = (HttpEntityEnclosingRequest) remoteRequest; entityRequest.setEntity(createEntity(request.content(), contentLength)); } return remoteRequest; }
if ((req.headers().contains(HttpHeaderNames.CONTENT_LENGTH) && HttpUtil.getContentLength(req) > 0) || HttpUtil.isTransferEncodingChunked(req)) {
@Override protected boolean hasBody(HttpResponse response) { if (response.status().code() >= HttpStatus.CONTINUE.getCode() && response.status().code() < HttpStatus.OK.getCode()) { return false; } if (response.status().equals(HttpResponseStatus.NO_CONTENT) || response.status().equals(HttpResponseStatus.NOT_MODIFIED)) { return false; } if (HttpUtil.isTransferEncodingChunked(response)) { return true; } if (HttpUtil.isContentLengthSet(response)) { return HttpUtil.getContentLength(response) > 0; } return true; }
private static Object continueResponse(HttpMessage start, int maxContentLength, ChannelPipeline pipeline) { if (HttpUtil.isUnsupportedExpectation(start)) { // if the request contains an unsupported expectation, we return 417 pipeline.fireUserEventTriggered(HttpExpectationFailedEvent.INSTANCE); return EXPECTATION_FAILED.retainedDuplicate(); } else if (HttpUtil.is100ContinueExpected(start)) { // if the request contains 100-continue but the content-length is too large, we return 413 if (getContentLength(start, -1L) <= maxContentLength) { return CONTINUE.retainedDuplicate(); } pipeline.fireUserEventTriggered(HttpExpectationFailedEvent.INSTANCE); return TOO_LARGE.retainedDuplicate(); } return null; }
private static MessageContent toMessageContent(final FullHttpRequest request) { long contentLength = HttpUtil.getContentLength(request, -1); if (contentLength <= 0) { return content().build(); } return content() .withCharset(HttpUtil.getCharset(request)) .withContent(new ByteBufInputStream(request.content())) .build(); }
private long contentLength() { if (contentLength == Long.MIN_VALUE) { contentLength = HttpUtil.getContentLength(message, -1L); } return contentLength; }
private long contentLength() { if (contentLength == Long.MIN_VALUE) { contentLength = HttpUtil.getContentLength(message, -1L); } return contentLength; }
@Override protected boolean isContentLengthInvalid(HttpMessage start, int maxContentLength) { try { return getContentLength(start, -1L) > maxContentLength; } catch (final NumberFormatException e) { return false; } }
/** * Get an {@code int} representation of {@link #getContentLength(HttpMessage, long)}. * * @return the content length or {@code defaultValue} if this message does * not have the {@code "Content-Length"} header or its value is not * a number. Not to exceed the boundaries of integer. */ public static int getContentLength(HttpMessage message, int defaultValue) { return (int) Math.min(Integer.MAX_VALUE, getContentLength(message, (long) defaultValue)); }
/** * Get an {@code int} representation of {@link #getContentLength(HttpMessage, long)}. * @return the content length or {@code defaultValue} if this message does * not have the {@code "Content-Length"} header or its value is not * a number. Not to exceed the boundaries of integer. */ public static int getContentLength(HttpMessage message, int defaultValue) { return (int) Math.min(Integer.MAX_VALUE, getContentLength(message, (long) defaultValue)); }
public void setResponse(HttpResponse response) { responseCode = response.status().code(); responseContentLength = HttpUtil.getContentLength(response, -1L); if (responseContentLength < 0) { responseContentLength = null; } }