/** * Builds the challenge for authorization by setting a HTTP <code>401</code> (Unauthorized) status as well as the * response's <code>WWW-Authenticate</code> header. * <p/> * The header value constructed is equal to: * <p/> * <code>String.format("%s realm=\"%s\"", authenticationScheme, realmName)</code> * * @param message to be shown next to the status code * @param authenticationScheme authentication scheme used in the authentication challenge header * @param realmName realm name used in the authentication challenge header * @return a 401 authentication challenge response */ public static Response unauthorized(final String message, final String authenticationScheme, final String realmName) { checkNotNull(message); checkNotNull(authenticationScheme); checkNotNull(realmName); return new Response.Builder() .status(Status.failure(UNAUTHORIZED, message)) .header(HttpHeaders.WWW_AUTHENTICATE, String.format("%s realm=\"%s\"", authenticationScheme, realmName)) .build(); }
@Nonnull static Response notFound(@Nullable final String message) { return new Response.Builder() .status(Status.failure(NOT_FOUND, "Not Found")) .payload(statusPayload(false, message)) .build(); }
/** * Requires {@link #status}. */ public Response build() { checkState(status != null, "Missing: status"); return new Response(attributes(), headers(), status, payload); } }
if (response.getStatus().isSuccessful() && !requestPredicate.apply(response)) { final Response.Builder responseBuilder = new Response.Builder().status(Status.success(NOT_MODIFIED)); if (response.getHeaders().contains(HttpHeaders.ETAG)) { responseBuilder.header(HttpHeaders.ETAG, response.getHeaders().get(HttpHeaders.ETAG)); return responseBuilder.build(); if (response.getStatus().isSuccessful() && !requestPredicate.apply(response)) { return new Response.Builder() .copy(response) .status(Status.failure(PRECONDITION_FAILED)) .payload(null) .build();
/** * Mutate the response into one that returns part of the payload. */ private Response partialResponse(final Response response, final Payload payload, final Range<Long> requestedRange) { Response.Builder builder = new Response.Builder() .copy(response) .status(Status.success(HttpStatus.PARTIAL_CONTENT)); Payload partialPayload = new PartialPayload(payload, requestedRange); builder.payload(partialPayload); // ResponseSender takes care of Content-Length header, via payload.size builder.header(HttpHeaders.CONTENT_RANGE, "bytes " + requestedRange.lowerEndpoint() + "-" + requestedRange.upperEndpoint() + "/" + payload.getSize()); return builder.build(); }
public Builder attribute(final String name, final Object value) { attributes().set(name, value); return this; }
public static Response notImplemented(@Nullable final String message) { return new Response.Builder() .status(Status.failure(NOT_IMPLEMENTED, message)) .build(); }
public static Response serviceUnavailable(@Nullable final String message) { return new Response.Builder() .status(Status.failure(SERVICE_UNAVAILABLE, message)) .build(); }
public static Response notFound(@Nullable final String message) { return new Response.Builder() .status(Status.failure(NOT_FOUND, message)) .build(); }
public static Response created(@Nullable final String message) { return new Response.Builder() .status(Status.success(CREATED, message)) .build(); }
public Builder header(final String name, final String... values) { headers().set(name, values); return this; }
public static Response rangeNotSatisfiable(final long contentSize) { return new Response.Builder() .status(Status.failure(REQUESTED_RANGE_NOT_SATISFIABLE)) .header(HttpHeaders.CONTENT_LENGTH, "0") .header(HttpHeaders.CONTENT_RANGE, "bytes */" + contentSize) .build(); } }
public static Response forbidden(@Nullable final String message) { return new Response.Builder() .status(Status.failure(FORBIDDEN, message)) .build(); }
public static Response unauthorized(@Nullable final String message) { return new Response.Builder() .status(Status.failure(UNAUTHORIZED, message)) .build(); }
public static Response badRequest(@Nullable final String message) { return new Response.Builder() .status(Status.failure(BAD_REQUEST, message)) .build(); }
public static Response noContent(@Nullable final String message) { return new Response.Builder() .status(Status.success(NO_CONTENT, message)) .build(); }
@Nonnull static Response badRequest(@Nullable final String message) { return new Response.Builder() .status(Status.failure(BAD_REQUEST)) .payload(statusPayload(false, message)) .build(); }
public static Response ok(final Payload payload) { return new Response.Builder() .status(Status.success(OK)) .payload(payload) .build(); }
protected Response buildResponse(final Status status, final Context context) { return new Response.Builder() .status(status) .build(); }
public static Response ok(@Nullable final String message) { return new Response.Builder() .status(Status.success(OK, message)) .build(); }