Skip to content

PHP middleware that returns a json formatted response in case of error

License

Notifications You must be signed in to change notification settings

Lansoweb/api-problem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Api Problem Middleware for PHP

This middleware returns a formatted json in case of error. It's inspired on the ApiProblem library, but with fewer dependencies.

Usage

Just add the middleware as the last in your application.

For example:

$app->pipe(new \LosMiddleware\ApiProblem\ApiProblem());

It will return:

{
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html",
  "title": "Method Not Allowed",
  "status": 405,
  "detail": "error",
  "code": "14868ef1-7ef4-4feb-a7ae-9a12c9097375"
}

Zend Expressive

If you are using expressive-skeleton, you can copy config/los-api-problem.global.php.dist to config/autoload/los-api-problem.global.php.

It uses the FinalHandler feature from Expressive. If you prefer to use other FinalHandler, you can manually add this middleware:

return [
    'dependencies' => [
        'invokables' => [
            LosMiddleware\ApiProblem\ApiProblem::class => LosMiddleware\ApiProblem\ApiProblem::class,
        ],
    ],
    'middleware_pipeline' => [
        'error' => [
            'middleware' => [
                LosMiddleware\ApiProblem\ApiProblem::class, 
            ]
            'error' => true,
        ],
    ],
];    

But 404 errors will not be handled but this, only by the FinalHandler.

About

PHP middleware that returns a json formatted response in case of error

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages