All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
io.sphere.sdk.http.HttpResponse Maven / Gradle / Ivy
package io.sphere.sdk.http;
import javax.annotation.Nullable;
import java.nio.charset.StandardCharsets;
import java.util.Optional;
import static io.sphere.sdk.http.HttpResponseImpl.responseCodeStartsWith;
public interface HttpResponse {
@Nullable
Integer getStatusCode();
HttpHeaders getHeaders();
@Nullable
byte[] getResponseBody();
@Nullable
HttpRequest getAssociatedRequest();
default boolean hasInformationalResponseCode() {
return responseCodeStartsWith(this, 1);
}
default boolean hasSuccessResponseCode() {
return responseCodeStartsWith(this, 2);
}
default boolean hasRedirectionResponseCode() {
return responseCodeStartsWith(this, 3);
}
default boolean hasClientErrorResponseCode() {
return responseCodeStartsWith(this, 4);
}
default boolean hasServerErrorResponseCode() {
return responseCodeStartsWith(this, 5);
}
static HttpResponse of(@Nullable final Integer status, final String responseBody) {
return of(status, responseBody, null, HttpHeaders.of());
}
static HttpResponse of(@Nullable final Integer status, final String responseBody, final HttpHeaders headers) {
return of(status, responseBody, null, headers);
}
static HttpResponse of(@Nullable final Integer status) {
return of(status, (byte[]) null, null, null);
}
static HttpResponse of(@Nullable final Integer status, final HttpHeaders headers) {
return of(status, (byte[]) null, null, headers);
}
static HttpResponse of(@Nullable final Integer status, final String responseBody, final HttpRequest associatedRequest) {
return of(status, responseBody, associatedRequest, HttpHeaders.of());
}
static HttpResponse of(@Nullable final Integer status, final String responseBody, final HttpRequest associatedRequest, final HttpHeaders headers) {
return of(status, responseBody.getBytes(StandardCharsets.UTF_8), associatedRequest, headers);
}
static HttpResponse of(@Nullable final Integer status, final byte[] body, final HttpRequest associatedRequest) {
return of(status, body, associatedRequest, HttpHeaders.empty());
}
static HttpResponse of(@Nullable final Integer status, final byte[] body, @Nullable final HttpRequest associatedRequest, @Nullable final HttpHeaders headers) {
return new HttpResponseImpl(status, body, associatedRequest, Optional.ofNullable(headers).orElseGet(() -> HttpHeaders.of()));
}
default HttpResponse withoutRequest() {
return HttpResponse.of(getStatusCode(), getResponseBody(), null, getHeaders());
}
}