public HTTPResponse(Optional<Payload> payload, Status status, Headers headers) { this(payload, new StatusLine(status), headers); }
public Status getStatus() { return statusLine.getStatus(); }
private void writeStatus(PrintStream writer, StatusLine status) { println(writer, status.toString()); writer.print("\r\n"); } }
@Override public int hashCode() { int result = statusLine != null ? statusLine.hashCode() : 0; result = 31 * result + (payload != null ? payload.hashCode() : 0); result = 31 * result + (headers != null ? headers.hashCode() : 0); return result; } }
public HTTPResponse(Status status, Headers headers) { this(Optional.<Payload>empty(), new StatusLine(status), headers); }
public static HTTPResponse createResponse(final StatusLine line, final Headers responseHeaders, final Optional<InputStream> stream) { Optional<String> contentLengthHeader = responseHeaders.getFirstHeaderValue(HeaderConstants.CONTENT_LENGTH); MIMEType type = responseHeaders.getContentType().orElse(MIMEType.APPLICATION_OCTET_STREAM); Optional<Long> length = responseHeaders.getContentLength(); Optional<Payload> payload = stream. filter(is -> line.getStatus().isBodyContentAllowed()). map(is -> new InputStreamPayload(is, type, length.orElse(-1L))); return new HTTPResponse(payload, line, responseHeaders); } }
private HTTPResponse convertResponse(HttpURLConnection connection) throws IOException { Status status = Status.valueOf(connection.getResponseCode()); String message = connection.getResponseMessage(); Headers responseHeaders = getResponseHeaders(connection); return getResponseCreator().createResponse(new StatusLine(status, message), responseHeaders, wrapResponseStream(connection, status)); }