ratpack.http.Status Maven / Gradle / Ivy
/*
* Copyright 2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package ratpack.http;
import io.netty.handler.codec.http.HttpResponseStatus;
import ratpack.http.internal.DefaultStatus;
/**
* A status line of a HTTP response.
*/
public interface Status {
/**
* The 200 status code.
*/
Status OK = Status.of(200);
/**
* The 304 status code.
*
* @since 1.4
*/
Status NOT_MODIFIED = Status.of(304);
/**
* Creates a new status object.
*
* @param code the status code
* @param message the status message
* @return a new status object
*/
static Status of(int code, String message) {
return new DefaultStatus(new HttpResponseStatus(code, message));
}
/**
* Creates a new status object.
*
* @param code the status code
* @return a new status object
*/
static Status of(int code) {
return new DefaultStatus(HttpResponseStatus.valueOf(code));
}
/**
* The status code.
*
* @return The status code
*/
int getCode();
/**
* The message of the status.
*
* @return The message of the status
*/
String getMessage();
/**
* If {@link #getCode()} is >= 100 and < 200.
*
* @return {@code true} if {@link #getCode()} is >= 100 and < 200, else {@code false}
* @since 1.3
*/
default boolean is1xx() {
return getCode() >= 100 && getCode() < 200;
}
/**
* If {@link #getCode()} is >= 200 and < 300.
*
* @return {@code true} if {@link #getCode()} is >= 200 and < 300, else {@code false}
* @since 1.3
*/
default boolean is2xx() {
return getCode() >= 200 && getCode() < 300;
}
/**
* If {@link #getCode()} is >= 300 and < 400.
*
* @return {@code true} if {@link #getCode()} is >= 300 and < 400, else {@code false}
* @since 1.3
*/
default boolean is3xx() {
return getCode() >= 300 && getCode() < 400;
}
/**
* If {@link #getCode()} is >= 400 and < 500.
*
* @return {@code true} if {@link #getCode()} is >= 400 and < 500, else {@code false}
* @since 1.3
*/
default boolean is4xx() {
return getCode() >= 400 && getCode() < 500;
}
/**
* If {@link #getCode()} is >= 500 and < 600.
*
* @return {@code true} if {@link #getCode()} is >= 500 and < 600, else {@code false}
* @since 1.3
*/
default boolean is5xx() {
return getCode() >= 500 && getCode() < 600;
}
/**
* The status as Netty's type.
*
* Used internally.
*
* @return the status as Netty's type
*/
HttpResponseStatus getNettyStatus();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy