Changes for version 0.002

  • normalize *_location attributes to all be called location, since that is the name of the header
  • any time we allow additional headers to be passed in, the attribute is now called additional_headers instead of whatever it was before (usually cache_headers)
  • change the valid_methods attribute in HTTP::Throwable::MethodNotAllowed to be just allow (which is what the header is)
    • improved the type check on this as well
  • make the exceptions also function as PSGI apps
    • add to_app method
    • support &{} overload
    • added tests for this
  • overload stringification
    • added tests for this

Modules

A set of strongly-typed, PSGI-friendly HTTP 1.1 exception classes
502 Bad Gateway
400 Bad Request
417 Expectation Failed
504 Gateway Timeout
505 HTTP Version Not Supported
500 Internal Server Error
411 Length Required
405 Method Not Allowed
301 Moved Permanently
300 Multiple Choices
406 Not Acceptable
501 Not Implemented
304 Not Modified
412 Precondition Failed
407 Proxy Authentication Required
413 Request Entity To Large
408 Request Timeout
414 Request-URI Too Long
416 Requested Range Not Satisfiable
503 Service Unavailable
307 Temporary Redirect
415 Unsupported Media Type