package microservices.sample.base.ratpack; import com.google.common.base.Strings; import com.google.common.base.Throwables; import io.netty.handler.codec.http.HttpResponseStatus; import ratpack.handling.Context; import ratpack.http.internal.DefaultStatus; import static java.net.HttpURLConnection.*; /** * Utility methods for sending http response codes to the clients. * * @author mamad * @since 15/03/15. */ public final class StatusHelper { private StatusHelper() { } public static void sendBadRequest(Context context, String message) { sendStatus(context, message, HTTP_BAD_REQUEST); } public static void sendInternalError(Context context, Throwable error) { sendStatus(context, Throwables.getStackTraceAsString(error), HTTP_INTERNAL_ERROR); } public static void sendNotImplemented(Context context, String message) { sendStatus(context, message, HTTP_NOT_IMPLEMENTED); } public static void sendNotFound(Context context, String id) { sendStatus(context, "There is no entity with id:" + id, HTTP_NOT_FOUND); } public static void sendStatus(Context context, String reasonPhrase, int statusCode) { sendStatus(context, new HttpResponseStatus(statusCode, Strings.nullToEmpty(reasonPhrase))); } public static void sendStatus(Context context, HttpResponseStatus status) { context.getResponse().status(new DefaultStatus(status)).send(); } }