diff --git a/packages/insomnia-app/app/common/constants.js b/packages/insomnia-app/app/common/constants.js index 0e8a2d8897..0e604843c7 100644 --- a/packages/insomnia-app/app/common/constants.js +++ b/packages/insomnia-app/app/common/constants.js @@ -369,3 +369,84 @@ export const RESPONSE_CODE_DESCRIPTIONS = { 510: 'Further extensions to the request are required for the server to fulfill it.', 511: 'The 511 status code indicates that the client needs to authenticate to gain network access.', }; + +export const RESPONSE_CODE_REASONS = { + // Special + [STATUS_CODE_PLUGIN_ERROR]: 'Plugin Error', + + // 100s + + 100: 'Continue', + 101: 'Switching Protocols', + + // 200s + + 200: 'OK', + 201: 'Created', + 202: 'Accepted', + 203: 'Non-Authoritative Information', + 204: 'No Content', + 205: 'Reset Content', + 206: 'Partial Content', + 207: 'Multi-Status', + 208: 'Already Reported', + 226: 'IM Used', + + // 300s + + 300: 'Multiple Choices', + 301: 'Moved Permanently', + 302: 'Found', + 303: 'See Other', + 304: 'Not Modified', + 305: 'Use Proxy', + 306: 'Switch Proxy', + 307: 'Temporary Redirect', + 308: 'Permanent Redirect', + + // 400s + + 400: 'Bad Request', + 401: 'Unauthorized', + 402: 'Payment Required', + 403: 'Forbidden', + 404: 'Not Found', + 405: 'Method Not Allowed', + 406: 'Not Acceptable', + 407: 'Proxy Authentication Required', + 408: 'Request Timeout', + 409: 'Conflict', + 410: 'Gone', + 411: 'Length Required', + 412: 'Precondition Failed', + 413: 'Payload Too Large', + 414: 'URI Too Long', + 415: 'Unsupported Media Type', + 416: 'Range Not Satisfiable', + 417: 'Expectation Failed', + 418: "I'm a Teapot", + 421: 'Misdirected Request', + 422: 'Unprocessable Entity', + 423: 'Locked', + 424: 'Failed Dependency', + 425: 'Too Early', + 426: 'Upgrade Required', + 428: 'Precondition Required', + 429: 'Too Many Requests', + 431: 'Request Header Fields Too Large', + 451: 'Unavailable For Legal Reasons', + + // 500s + + 500: 'Internal Server Error', + 501: 'Not Implemented', + 502: 'Bad Gateway', + 503: 'Service Unavailable', + 504: 'Gateway Timeout', + 505: 'HTTP Version Not Supported', + 506: 'Variant Also Negotiates', + 507: 'Insufficient Storage', + 508: 'Loop Detected', + 510: 'Not Extended', + 511: 'Network Authentication Required', +}; diff --git a/packages/insomnia-app/app/ui/components/tags/status-tag.js b/packages/insomnia-app/app/ui/components/tags/status-tag.js index 3cbc5565c1..84d522bd24 100644 --- a/packages/insomnia-app/app/ui/components/tags/status-tag.js +++ b/packages/insomnia-app/app/ui/components/tags/status-tag.js @@ -1,7 +1,7 @@ // @flow import * as React from 'react'; import classnames from 'classnames'; -import { RESPONSE_CODE_DESCRIPTIONS } from '../../../common/constants'; +import { RESPONSE_CODE_DESCRIPTIONS, RESPONSE_CODE_REASONS } from '../../../common/constants'; import Tooltip from '../tooltip'; type Props = { @@ -52,7 +52,8 @@ class StatusTag extends React.PureComponent { return (
- {statusCodeToDisplay} {statusMessage} + {statusCodeToDisplay}{' '} + {statusMessage || RESPONSE_CODE_REASONS[statusCode]}
);