Commit Graph

167 Commits

Author SHA1 Message Date
PJ Dietz ac8bdce037 Remove MethodMapInterface 2018-06-22 15:10:50 -04:00
PJ Dietz 73b6e4ab83 Router registers handlers directly with routes 2018-06-22 14:53:03 -04:00
PJ Dietz 9b29f2a09e Add Route::register method to delegate to MethodMap 2018-06-22 14:44:43 -04:00
PJ Dietz 72d5df244d Clean up MessageTest and documentation for Message classes 2018-06-22 13:43:44 -04:00
PJ Dietz b82ebf6d95 Update comments and documentation for Dispatcher and related classes 2018-06-22 12:17:30 -04:00
PJ Dietz 5e9e7f154b Update Routing integration test 2018-06-21 16:53:17 -04:00
PJ Dietz 9aab0d780e Router can provide middleware called only for matched routes. 2018-06-21 16:00:11 -04:00
PJ Dietz 29cad3687e Router delegates on failure and does not return 404 2018-06-21 12:48:11 -04:00
PJ Dietz f016b74c38 Server responds with a default 404 response when request is unhandled 2018-06-21 12:48:11 -04:00
PJ Dietz 04c7b100db Upgrade PHPUnit to v7 2018-06-21 10:20:33 -04:00
PJ Dietz 4c40db8ecc Update draft PSR-15 interfaces 2018-03-12 15:05:19 -04:00
PJ Dietz 1dd9bf0f9c Dispatcher can dispatch PSR-15 HandlerInterface and MiddlewareInterface (Drafts) 2018-03-12 15:05:18 -04:00
PJ Dietz 50f1004be5 Test cleanup 2017-08-03 14:29:54 -04:00
PJ Dietz 36a170bcff Upgrade PHPUnit to ^6 2017-07-22 15:21:41 -04:00
PJ Dietz 92294a2e67 Move doubles to Doubles namespace 2016-05-21 12:08:17 -04:00
PJ Dietz a294a7eaf5 Fix test namespaces 2016-05-21 12:06:26 -04:00
PJ Dietz e0b5c836db Refactor Server test 2016-05-21 12:01:21 -04:00
PJ Dietz 4fb7bf6050 Refractor Transmitter test 2016-05-21 11:51:12 -04:00
PJ Dietz b3dc82e744 Refactor router test 2016-05-21 11:05:35 -04:00
PJ Dietz 91249d885f MethodMap tests use Dispatcher and MiddlewareMock; rename NextMock 2016-05-21 10:16:22 -04:00
PJ Dietz f9ab311b79 MethodMap test uses ServerRequest and NextSpy 2016-05-21 09:48:44 -04:00
PJ Dietz 4eb0b2641e Use ServerRequest instance in MethodMap test 2016-05-21 08:46:13 -04:00
PJ Dietz 36bb00dc1a Refactor route tests 2016-05-21 08:45:55 -04:00
PJ Dietz 929f8ffd97 Refactor message tests 2016-05-20 20:08:48 -04:00
PJ Dietz d3e924485c Refactor dispatch tests 2016-05-20 19:25:30 -04:00
PJ Dietz 0c61641376 Do not attempt to rewind unsociable streams when transmitting response 2016-02-22 14:45:16 -05:00
PJ Dietz 139e3c43da Template Routes do not match slash prefix variables that contain slashes as the non-first character 2015-05-25 10:17:42 -04:00
PJ Dietz 5dcd119952 Add public method Server::getDispatcher to make the dispatcher available. 2015-05-21 12:14:28 -04:00
PJ Dietz dedec4ec4e Router stores path variables directly as attributes by default. 2015-05-19 21:06:50 -04:00
PJ Dietz ac2ed4a24a Router stops propagating on 404, 405, and OPTIONS 2015-05-19 19:12:12 -04:00
PJ Dietz a825654336 Refactor MiddlewareInterface::dispatch to MiddlewareInterface::__invoke 2015-05-19 18:35:29 -04:00
PJ Dietz 474d8da61c Server accepts attributes array as first constructor parameter and sets attributes on server request 2015-05-17 16:56:30 -04:00
PJ Dietz 15602d8e97 Remove suppression operator from RegexRoute 2015-05-15 19:11:43 -04:00
PJ Dietz 1953acf25d Add integration tests to double check routing and dispatching functionality 2015-05-15 08:06:21 -04:00
PJ Dietz 3f5e2321d9 Transmitter provides Content-length header without external class. Transmitter no longer alters the body for HEAD requests. 2015-05-14 07:51:28 -04:00
PJ Dietz 1be4ff7691 Router uses only the request's path for routing 2015-05-13 21:53:33 -04:00
PJ Dietz 3b18d1dcdb Router reads path variables from route and adds them to request before dispatching route 2015-05-13 21:53:33 -04:00
PJ Dietz 6232f67b9c Update RouteInterface and routes 2015-05-13 21:53:33 -04:00
PJ Dietz 61fd0f3354 TemplateRoute more throughly implements URI Templates as defined in RFC 6570
Template support:
- Simple strings /{var}
- Reserved string /{+var}
- Multiple variables per expression /{hello,larry}
- Dot-prefixes /{.filename,extension}
- Slash-prefiex {/path,to,here}
- Explosion {/paths*}, /cats/{ids*} explode to list arrays
2015-05-13 21:53:27 -04:00
PJ Dietz 1bb93434b2 Store variables from URI as uriVariables attributes 2015-05-12 17:58:35 -04:00
PJ Dietz 297e985e84 DispatchStack calls $next only when the stack runs to the end. 2015-05-12 07:54:11 -04:00
PJ Dietz 26a6a25d3b Rename Server::makeRouter to Server::createRouter 2015-05-11 15:39:12 -04:00
PJ Dietz 75ddf6fa9c Remove extra assertions in Message tests 2015-05-10 20:55:14 -04:00
PJ Dietz 14a7a1bd17 Add @group message 2015-05-10 20:25:14 -04:00
PJ Dietz 64eb5aecdd Rename Responding\Responder Transmission\Transmitter 2015-05-10 20:17:26 -04:00
PJ Dietz 0f9c5079f9 Add Server 2015-05-10 19:04:12 -04:00
PJ Dietz 67d562b3bc Responder::respond process responses for Content-length header and HEAD requests 2015-05-10 18:28:13 -04:00
PJ Dietz b198e83d55 Add Responder namespace
Move ContentLength and Head middleware to Resonder\Middleware
2015-05-10 16:59:50 -04:00
PJ Dietz f849a6ff89 Router optionally takes a DispatcherInterface on construction 2015-05-10 14:32:43 -04:00
PJ Dietz 3811b9085f Dispatcher creates DispatchStack for array 2015-05-10 13:53:15 -04:00