Commit Graph

241 Commits

Author SHA1 Message Date
Joe Ginley 17c58ae362 Added php minimum version badge and removed the requirements text.
Updated composer libraries, fixed phpunit errors after updating.
Updated docker-compose version.
Updated docker to use php 7.4.
2020-02-04 00:05:42 -05:00
PJ Dietz 645bcf227c Upgrade PHPUnit to v8 2019-06-17 16:04:55 -04:00
PJ Dietz e676a17cac Rename Router->addMiddleware to Router->add 2018-06-29 16:29:46 -04:00
PJ Dietz 677cdb4d7d Change Router::continue to Router::continueOnNotFound; update docs 2018-06-28 16:52:36 -04:00
PJ Dietz 0a0d3c3bc9 Router responds 404 by default for non-matched routes 2018-06-28 09:46:59 -04:00
PJ Dietz de46c8e089 Rework Server to be configured with setters 2018-06-25 15:46:37 -04:00
PJ Dietz be3d007961 Set a default chunk size for Transmitter 2018-06-25 09:11:58 -04:00
PJ Dietz 64628c4065 Move MethodMap to Route namespace 2018-06-22 15:54:01 -04:00
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 4b1ec94e3f Update NextMock 2018-03-12 15:02:58 -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