Skip to content

wellrestedphp/http-exceptions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HttpExceptions

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.

Exception Code Message
HttpException 500 "Internal Server Error"
BadRequestException 400 "Bad Request"
UnauthorizedException 401 "Unauthorized"
ForbiddenException 403 "Forbidden"
NotFoundException 404 "Not Found"
MethodNotAllowedException 405 "Method Not Allowed"
NotAcceptableException 406 "Not Acceptable
ConflictException 409 "Conflict"
GoneException 410 "Gone"
LengthRequiredException 411 "Length Required"
PreconditionFailedException 412 "Precondition Failed"
RequestEntityTooLargeException 413 "Request Entity Too Large"
UnsupportedMediaTypeException 415 "Unsupported Media Type"
RequestedRangeNotSatisfiableException 416 "Requested Range Not Satisfiable"
ExpectationFailedException 417 "Expectation Failed"

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

About

A collection of Exception classes that correspond to common HTTP error status codes.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages