From 8a179b9a9cc14e3dc2cff97ebca9472875a7e6d0 Mon Sep 17 00:00:00 2001 From: Rohit Awate Date: Tue, 21 Aug 2018 18:24:26 +0530 Subject: [PATCH] Implemented custom method for getting HTTP status code description --- .../models/responses/EverestResponse.java | 130 ++++++++++++++++++ .../everest/state/DashboardState.java | 4 +- 2 files changed, 132 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/rohitawate/everest/models/responses/EverestResponse.java b/src/main/java/com/rohitawate/everest/models/responses/EverestResponse.java index 1d7f0b6..3377913 100644 --- a/src/main/java/com/rohitawate/everest/models/responses/EverestResponse.java +++ b/src/main/java/com/rohitawate/everest/models/responses/EverestResponse.java @@ -16,8 +16,11 @@ package com.rohitawate.everest.models.responses; +import com.rohitawate.everest.logging.LoggingService; + import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MultivaluedMap; +import java.time.LocalDateTime; public class EverestResponse { private String body; @@ -74,4 +77,131 @@ public class EverestResponse { public void setHeaders(MultivaluedMap headers) { this.headers = headers; } + + public static String getReasonPhrase(int statusCode) { + switch (statusCode) { + case 100: + return "Continue"; + case 101: + return "Switching Protocol"; + case 102: + return "Processing"; + case 200: + return "OK"; + case 201: + return "Created"; + case 202: + return "Accepted"; + case 203: + return "Non-Authoritative Information"; + case 204: + return "No Content"; + case 205: + return "Reset Content"; + case 206: + return "Partial Content"; + case 207: + case 208: + return "Multi-Status"; + case 226: + return "IM Used"; + case 300: + return "Multiple Choice"; + case 301: + return "Moved Permanently"; + case 302: + return "Found"; + case 303: + return "See Other"; + case 304: + return "Not Modified"; + case 305: + return "Use Proxy"; + case 307: + return "Temporary Redirect"; + case 308: + return "Permanent Redirect"; + case 400: + return "Bad Request"; + case 401: + return "Unauthorized"; + case 402: + return "Payment Required"; + case 403: + return "Forbidden"; + case 404: + return "Not Found"; + case 405: + return "Method Not Allowed"; + case 406: + return "Not Acceptable"; + case 407: + return "Proxy Authentication Required"; + case 408: + return "Request Timeout"; + case 409: + return "Conflict"; + case 410: + return "Gone"; + case 411: + return "Length Required"; + case 412: + return "Precondition Failed"; + case 413: + return "Payload Too Large"; + case 414: + return "URI Too Long"; + case 415: + return "Unsupported Media Type"; + case 416: + return "Requested Range Not Satisfiable"; + case 417: + return "Expectation Failed"; + case 418: + return "I'm a teapot"; + case 421: + return "Misdirected Request"; + case 422: + return "Unprocessable Entity"; + case 423: + return "Locked"; + case 424: + return "Failed Dependency"; + case 426: + return "Upgrade Required"; + case 428: + return "Precondition Required"; + case 429: + return "Too Many Requests"; + case 431: + return "Request Header Fields Too Large"; + case 451: + return "Unavailable For Legal Reasons"; + case 500: + return "Internal Server Error"; + case 501: + return "Not Implemented"; + case 502: + return "Bad Gateway"; + case 503: + return "Service Unavailable"; + case 504: + return "Gateway Timeout"; + case 505: + return "HTTP Version Not Supported"; + case 506: + return "Variant Also Negotiates"; + case 507: + return "Insufficient Storage"; + case 508: + return "Loop Detected"; + case 510: + return "Not Extended"; + case 511: + return "Network Authentication Required"; + default: + LoggingService.logWarning("No description found for status code: " + statusCode, null, LocalDateTime.now()); + return "No Description Found"; + } + } } diff --git a/src/main/java/com/rohitawate/everest/state/DashboardState.java b/src/main/java/com/rohitawate/everest/state/DashboardState.java index 88139db..8223f12 100644 --- a/src/main/java/com/rohitawate/everest/state/DashboardState.java +++ b/src/main/java/com/rohitawate/everest/state/DashboardState.java @@ -44,7 +44,7 @@ public class DashboardState { public ComposerTab visibleComposerTab; // ResponseLayer parameters - public int responseCode; + public int statusCode; public String responseType; public String responseBody; public int responseTime; @@ -85,7 +85,7 @@ public class DashboardState { private void onRequestSucceeded(Event event) { visibleResponseLayer = ResponseLayer.RESPONSE; EverestResponse response = requestManager.getValue(); - responseCode = response.getStatusCode(); + statusCode = response.getStatusCode(); if (response.getMediaType() != null) responseType = response.getMediaType().toString(); else