wellrested/http-exceptions

A collection of exceptions that correspond to common HTTP error status codes

v1.0.0 2015-05-30 13:03 UTC

This package is auto-updated.

Last update: 2024-10-12 07:21:26 UTC


README

HttpException and its subclasses provide exceptions corresponding to HTTP error status codes. The most common are included, but you can create exceptions for other status codes by using (or subclassing) HttpException and providing the reason phrase as the $message and the status code as the $code.

This package provides the following exception classes in the WellRESTed\HttpExceptions namespace.

Basic Usage

Throw an exception.

throw new \WellRESTed\HttpExceptions\UnauthorizedException(); 

Throw a custom exception, providing a status code.

throw new \WellRESTed\HttpExceptions\HttpException(
    "HTTP Version Not Supported", 505); 

Catch an exception and output an HTML response.

try {
    // ... 
} catch (\WellRESTed\HttpExceptions\HttpException $e) {
    http_response_code($e->getCode());
    header("Content-type: text/html");
    print "<h1>" . $e->getCode()  . " " . $e->getMessage() . "</h1>";
}

Or, if you're using WellRESTed:

try {
    // ... 
} catch (\WellRESTed\HttpExceptions\HttpException $e) {
    $response = $response
        ->withStatus($e->getCode())
        ->withHeader("Content-type", "text/html")
        ->withBody(new \WellRESTed\Message\Stream(
            "<h1>" . $e->getCode()  . " " . $e->getMessage() . "</h1>"));
}

Install

Add wellrested/http-exceptions to your composer.json

{
    "require": {
        "wellrested/http-exceptions": "^1.0"
    }
}

Copyright and License

Copyright © 2015 by PJ Dietz Licensed under the MIT license