From f6759afd31f588ca2d7a422f6e91c9b3b78277c3 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 6 May 2019 03:10:32 -0700 Subject: [PATCH] Added INA HTTP status codes. Closes #1 --- README.md | 15 +- docs/README.html | 336 ++++++++++-------- .../erik/httpstatus/reasons.properties | 5 +- 3 files changed, 195 insertions(+), 161 deletions(-) diff --git a/README.md b/README.md index e5b1790..bacf188 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ # HttpStatus JSP Tag Library [![License (3-Clause BSD)](https://img.shields.io/badge/license-BSD%203--Clause-blue.svg?style=flat-square)](http://opensource.org/licenses/BSD-3-Clause) [![release](https://img.shields.io/github/release/ethauvin/httpstatus.svg)](https://github.com/ethauvin/httpstatus/releases/latest) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/net.thauvin.erik.httpstatus/httpstatus/badge.svg)](https://maven-badges.herokuapp.com/maven-central/net.thauvin.erik.httpstatus/httpstatus) [ ![Download](https://api.bintray.com/packages/ethauvin/maven/HttpStatus/images/download.svg) ](https://bintray.com/ethauvin/maven/HttpStatus/_latestVersion) -[![Known Vulnerabilities](https://snyk.io/test/github/ethauvin/httpstatus/badge.svg?targetFile=build.gradle)](https://snyk.io/test/github/ethauvin/httpstatus?targetFile=build.gradle) [![Build Status](https://travis-ci.org/ethauvin/HttpStatus.svg?branch=master)](https://travis-ci.org/ethauvin/HttpStatus) [![Build status](https://ci.appveyor.com/api/projects/status/w5j4kul3w2rkigxb?svg=true)](https://ci.appveyor.com/project/ethauvin/httpstatus) [![CircleCI](https://circleci.com/gh/ethauvin/HttpStatus/tree/master.svg?style=shield)](https://circleci.com/gh/ethauvin/HttpStatus/tree/master) +[![Known Vulnerabilities](https://snyk.io/test/github/ethauvin/httpstatus/badge.svg?targetFile=build.gradle)](https://snyk.io/test/github/ethauvin/httpstatus?targetFile=build.gradle) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=ethauvin_HttpStatus&metric=alert_status)](https://sonarcloud.io/dashboard?id=ethauvin_HttpStatus) +[![Build Status](https://travis-ci.org/ethauvin/HttpStatus.svg?branch=master)](https://travis-ci.org/ethauvin/HttpStatus) +[![Build status](https://ci.appveyor.com/api/projects/status/w5j4kul3w2rkigxb?svg=true)](https://ci.appveyor.com/project/ethauvin/httpstatus) [![CircleCI](https://circleci.com/gh/ethauvin/HttpStatus/tree/master.svg?style=shield)](https://circleci.com/gh/ethauvin/HttpStatus/tree/master) A simple [JSP](http://www.oracle.com/technetwork/java/javaee/jsp/index.html) Tag Library to display the [code](#hscode), [reason](#hsreason) and/or [cause](#hscode) for [HTTP status codes](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html) in JSP error pages. @@ -69,10 +71,11 @@ Attribute | Description The reasons are defined in a [ResourceBundle](http://docs.oracle.com/javase/8/docs/api/java/util/ResourceBundle.html) properties as follows: Status Code | Reason ------------ | ------------------------------- +----------- | ----------------------------------- `100` | Continue `101` | Switching Protocols `102` | Processing +`103` | Early Hints `200` | OK `201` | Created `202` | Accepted @@ -85,7 +88,7 @@ Status Code | Reason `226` | IM Used `300` | Multiple Choices `301` | Moved Permanently -`302` | Moved Temporarily +`302` | Found/Moved Temporarily `303` | See Other `304` | Not Modified `305` | Use Proxy @@ -105,7 +108,7 @@ Status Code | Reason `410` | Gone `411` | Length Required `412` | Precondition Failed -`413` | Request Entity Too Large +`413` | Request Entity/Payload Too Large `414` | Request-URI Too Long `415` | Unsupported Media Type `416` | Requested Range Not Satisfiable @@ -156,7 +159,7 @@ Include the following in your `build.gradle` file: ```gradle dependencies { - compile 'net.thauvin.erik.httpstatus:httpstatus:1.0.3' + compile 'net.thauvin.erik.httpstatus:httpstatus:1.0.4' } ``` @@ -166,6 +169,6 @@ or as a Maven artifact: net.thauvin.erik.httpstatus httpstatus - 1.0.3 + 1.0.4 ``` diff --git a/docs/README.html b/docs/README.html index c9be9dc..ad21498 100644 --- a/docs/README.html +++ b/docs/README.html @@ -1,83 +1,112 @@ - + - - - - - - - + +

HttpStatus JSP Tag Library

-

License (3-Clause BSD) release Maven Central Download
-Dependency Status Build Status Build status CircleCI

+

License (3-Clause BSD) release Maven Central Download
+Known Vulnerabilities Quality Gate Status
+Build Status Build status CircleCI

A simple JSP Tag Library to display the code, reason and/or cause for HTTP status codes in JSP error pages.


For example:

-
<%@ page isErrorPage="true" %>
-<%@ taglib prefix="hs" uri="http://erik.thauvin.net/taglibs/httpstatus" %>
-<html><head>
-<title><hs:code/> <hs:reason default="Server Error"/></title>
-</head>
-<h1><hs:reason default="Server Error"/></h1>
-Cause: <pre><hs:cause default="Unable to complete your request."/></pre>
-...
+
<%@ page isErrorPage="true" %>
+<%@ taglib prefix="hs" uri="http://erik.thauvin.net/taglibs/httpstatus" %>
+<html><head>
+<title><hs:code/> <hs:reason default="Server Error"/></title>
+</head>
+<h1><hs:reason default="Server Error"/></h1>
+Cause: <pre><hs:cause default="Unable to complete your request."/></pre>
+...

or

-
<%@ page isErrorPage="true" import="net.thauvin.erik.httpstatus.Reasons" %>
-<%= Reasons.getReasonPhrase(pageContext.getErrorData().getStatusCode()) %>
+
<%@ page isErrorPage="true" import="net.thauvin.erik.httpstatus.Reasons" %>
+<%= Reasons.getReasonPhrase(pageContext.getErrorData().getStatusCode()) %>

would display on a 501 status code:

-
Not Implemented
+
Not Implemented
+

hs:cause

The <hs:cause/> tag displays the cause of current HTTP status code, if any. A shorthand for:

-
<%= pageContext.getErrorData().getThrowable().getCause().getLocalizedMessage() %>
+
<%= pageContext.getErrorData().getThrowable().getCause().getLocalizedMessage() %>

Optional attributes are:

---- @@ -91,20 +120,16 @@ Cause: <pre><hs:cause default< - +
Attribute
escapeXmlConverts <, >, &, ', " to their corresponding entity codes. Value is true by default.Converts <, >, &, ', " to their corresponding entity codes. Value is true by default.

hs:code

The <hs:code/> tag displays the current HTTP status code, if any. A shorthand for:

-
<%= pageContext.getErrorData().getStatusCode() %>
+
<%= pageContext.getErrorData().getStatusCode() %>

hs:reason

The <hs:reason/> tag displays the reason for a HTTP status code, if any. Optional attributes are:

---- @@ -122,7 +147,7 @@ Cause: <pre><hs:cause default< - +
Attribute
escapeXmlConverts <, >, &, ', " to their corresponding entity codes. Value is true by default.Converts <, >, &, ', " to their corresponding entity codes. Value is true by default.
@@ -148,302 +173,306 @@ Cause: <pre><hs:cause default< Processing +103 +Early Hints + + 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 - + 300 Multiple Choices - + 301 Moved Permanently - -302 -Moved Temporarily - +302 +Found/Moved Temporarily + + 303 See Other - + 304 Not Modified - + 305 Use Proxy - + 306 Switch Proxy - + 307 Temporary Redirect - + 308 Permanent Redirect - + 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 -Request Entity Too Large - +413 +Request Entity/Payload Too Large + + 414 Request-URI Too Long - + 415 Unsupported Media Type - + 416 Requested Range Not Satisfiable - + 417 Expectation Failed - + 418 I'm A Teapot - + 419 Insufficient Space on Resource - + 420 Method Failure - + 421 Misdirected Request - + 422 Unprocessable Entity - + 423 Locked - + 424 Failed Dependency - + 426 Upgrade Required - + 428 Precondition Required - + 429 Too Many Requests - + 431 Request Header Fields Too Large - + 440 Login Timeout - + 444 No Response - + 449 Retry With - + 450 Blocked by Windows Parental Controls - + 451 Unavailable For Legal Reasons - + 494 Request Header Too Large - + 495 Cert Error - + 496 No Cert - + 497 HTTP to HTTPS - + 498 Token Expired/Invalid - + 499 Client Closed Request - + 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 - + 509 Bandwidth Limit Exceeded - + 510 Not Extended - + 511 Network Authentication Required - + 520 Unknown Error - + 522 Origin Connection Time-out - + 598 Network Read Timeout Error - + 599 Network Connect Timeout Error @@ -453,13 +482,14 @@ Cause: <pre><hs:cause default<

Usage with Gradle or Maven

Include the following in your build.gradle file:

dependencies {
-    compile 'net.thauvin.erik.httpstatus:httpstatus:1.0.3'
-}
+ compile 'net.thauvin.erik.httpstatus:httpstatus:1.0.4' +} +

or as a Maven artifact:

-
<dependency>
-    <groupId>net.thauvin.erik.httpstatus</groupId>
-    <artifactId>httpstatus</artifactId>
-    <version>1.0.3</version>
-</dependency>
+ diff --git a/src/main/resources/net/thauvin/erik/httpstatus/reasons.properties b/src/main/resources/net/thauvin/erik/httpstatus/reasons.properties index 8f99dac..cb56400 100644 --- a/src/main/resources/net/thauvin/erik/httpstatus/reasons.properties +++ b/src/main/resources/net/thauvin/erik/httpstatus/reasons.properties @@ -1,6 +1,7 @@ 100=Continue 101=Switching Protocols 102=Processing +103=Early Hints 200=OK 201=Created 202=Accepted @@ -13,7 +14,7 @@ 226=IM Used 300=Multiple Choices 301=Moved Permanently -302=Moved Temporarily +302=Found/Moved Temporarily 303=See Other 304=Not Modified 305=Use Proxy @@ -33,7 +34,7 @@ 410=Gone 411=Length Required 412=Precondition Failed -413=Request Entity Too Large +413=Request Entity/Payload Too Large 414=Request-URI Too Long 415=Unsupported Media Type 416=Requested Range Not Satisfiable