stg / ieu_http
Lib for handling http requests and responses
2.0.3
2017-07-12 10:44 UTC
Requires (Dev)
- stg/ieu_container: dev-master
This package is auto-updated.
Last update: 2024-11-27 04:15:47 UTC
README
Request
Object representing a HTTP request.
Response
Object representing a HTTP response.
JsonResponse
Response transporting JSON encoded content.
RedirectResponse
Response using redirect header and meta-refresh.
Router
Routes request to the responsible handler.
Route
URL path description, including variables, variable validation and wildcardpattern.
Usage
// {id} matches didgits of all length $route1a = (new Route('/path/to/user/{id}')) ->validate('id', '\d+'); // or shorthand $route1b = (new Route('/path/to/user/{id|\d+}')); // {everything} matches all allowed chars. $route2 = new Route('/path/to/{everything}/update'); // Will match every route beginning with /path/to/ $route3 = new Route('/path/to/*')
RouterProvider
For the use in ieu\Container\Container
dependency containers. Implements the same interface as Router
.
Handlers used in RouterProvider::then
-method have access to all dependencies known to the container and
additional to Request
(the current request) and RouteParameter
(all variables found in the route pattern).
Usage
// ieu\Container (new ieu\Container\Container) ->provider('Router', new ieu\Http\RouterProvier) ->config(['RouterProvider', function($routerProvider){ $routerProvider ->get('/home', ['Request', 'RouteParameter', function($request, $parameter){ return new Response('This is the homepage '); }) ->otherwise(['Request', 'Error', function($request, $error) { // handle error }); }]); // ieu\App (new ieu\App) ->config(['RouterProvider', function($routerProvider){ $routerProvider ->get('/home', ['Request', 'RouteParameter', function($request, $parameter){ return new Response('This is the homepage '); }); }]);