Commit Graph

201 Commits

Author SHA1 Message Date
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
PJ Dietz 3786cfaade Passing array to Router::register as middleware creates a DispatchStack 2015-05-10 12:15:39 -04:00
PJ Dietz 6507028dd3 Pass DispatchProvider to Router on construction 2015-05-10 12:04:36 -04:00
PJ Dietz 37af085ec5 Pass DispatcherInterface to RouteFactory on construction 2015-05-10 11:46:51 -04:00
PJ Dietz 87caa09b61 Pass DispatcherInterface into MethodMap on construction 2015-05-10 11:41:02 -04:00
PJ Dietz ec091b34c4 Fix paths and namespaces for Dispatching tests 2015-05-10 11:25:02 -04:00
PJ Dietz 8071b0b5db Move MiddlewareInterface to the root namespace. 2015-05-10 11:21:55 -04:00
PJ Dietz bbb138996a Add Dispatching namesapce 2015-05-10 11:02:59 -04:00
PJ Dietz 560b1e8ff0 Add DispatchStack 2015-05-10 10:30:22 -04:00
PJ Dietz 2adcbd8636 Remove Router and rename RouteMap to Router
Remove Router
Remove RouterInterface
Rename RouteMapInterface to RouterInterface
Rename RouteMap to Router
Rename add() to register()
Make register fluid
2015-05-10 09:05:05 -04:00
PJ Dietz b0db3cbcdd MethodMap::dispatch calls $next even on failure 2015-05-10 09:05:05 -04:00
PJ Dietz 9470f90ee2 RouteMap::dispatch calls $next even on failure 2015-05-10 09:05:05 -04:00
PJ Dietz c1a104af4f Update HeadHook 2015-05-10 09:05:05 -04:00
PJ Dietz 06f694154c Update ContentLengthHook 2015-05-10 09:05:05 -04:00
PJ Dietz 5a01d20f8e Update RouteMap to match updated MiddlewareInterface 2015-05-10 09:05:05 -04:00
PJ Dietz 36263ba3de Update routes to match new MiddlewareInterface 2015-05-10 09:05:05 -04:00
PJ Dietz 72767b74e8 Rename MethodMap::setMethod to ::register 2015-05-10 09:05:05 -04:00
PJ Dietz d8352e71d9 Update MethodMap to match new MiddlewareInterface 2015-05-10 09:05:05 -04:00
PJ Dietz a0e4ace6a5 Update Dispatcher 2015-05-10 09:05:00 -04:00
PJ Dietz 1d30fcbbba Remove RouteTable, revise RouteFactory, 2015-05-08 01:03:07 -04:00
PJ Dietz 09ea17d349 Update TemplateRoute 2015-05-08 00:25:15 -04:00
PJ Dietz 8f4165cdb6 Revise RegexRoute 2015-05-07 23:56:47 -04:00
PJ Dietz cfcc3b9690 Revise PrefixRoute 2015-05-07 23:30:42 -04:00
PJ Dietz 86d36e8c15 Revise StaticRoute 2015-05-07 23:25:08 -04:00
PJ Dietz 58b5107289 Revise Route 2015-05-07 23:14:48 -04:00
PJ Dietz 7a53a02c5f RouteMap: Remove check for captures (push this into regex route's dispatch) 2015-05-07 22:49:39 -04:00
PJ Dietz 1a49a4ac6c RouteMap routes patterns 2015-05-07 22:01:11 -04:00
PJ Dietz d5eb044169 Begin RouteMap 2015-05-07 21:36:54 -04:00
PJ Dietz 66319218cb Test Router's default finalization hooks and sequence in which router dispatches middleware 2015-05-07 19:36:33 -04:00
PJ Dietz 9915dffcfc Update finalization hooks. 2015-05-07 18:23:44 -04:00
PJ Dietz ccbe8bb2e0 Rework MethodMap 2015-05-07 18:02:13 -04:00
PJ Dietz 7cbbe6d7c5 Revise DispatchterTest 2015-05-07 07:42:46 -04:00
PJ Dietz ec7dceac98 Rework Router 2015-05-07 07:42:39 -04:00
PJ Dietz 9083f2a444 Rewrite RouterTest 2015-05-03 21:05:21 -04:00
PJ Dietz b523f2e79d Remove copy-paste comment from ServerRequestTest 2015-05-03 19:37:25 -04:00
PJ Dietz 147ddd0539 Add ContentLengthPrep 2015-05-03 18:11:23 -04:00
PJ Dietz 559044a82f Add HeadPrep 2015-05-03 16:54:03 -04:00
PJ Dietz e1058a4132 Remove sublcass from ServerRequestTest 2015-05-02 16:07:15 -04:00
PJ Dietz 8462e2effc Style, documentation, and test name updates 2015-05-02 15:15:13 -04:00
PJ Dietz f98ee59e4a Refactor validation for withUploadedFiles 2015-05-02 13:46:32 -04:00
PJ Dietz 81055c3bd9 Update ServerRequest:: addUploadedFilesToBranch to allow associate array at last level of $_FILES 2015-05-02 13:27:38 -04:00
PJ Dietz a93b37a548 Update UploadedFile's tests for SAPI and use of *_uploaded_file functions 2015-05-02 10:11:08 -04:00
PJ Dietz 257f2b7610 Update uploaded file functionality in ServerRequest 2015-04-30 22:10:40 -04:00
PJ Dietz b76883c9e9 Update reading $_FILES to UploadedFiles to conform to updates to PSR-7 2015-04-30 20:45:26 -04:00
PJ Dietz adf8def961 Update docblocks for Message namespace 2015-04-29 21:09:05 -04:00
PJ Dietz 086b09db4f Changes to match updates to PSR-7 in progress 2015-04-29 18:32:13 -04:00
PJ Dietz 2e7783d19d Message::getHeaderLine returns an empty string when the header is not set. 2015-04-29 07:42:40 -04:00
PJ Dietz 5eb30ccafb Rename UploadedFile::move to moveTo 2015-04-29 07:21:56 -04:00
PJ Dietz af9fbf9c50 Refactor constructor parameters for headers and body to Message 2015-04-27 11:46:36 -04:00
PJ Dietz cee55cada0 Add parameters for Request::__construct 2015-04-26 22:55:48 -04:00
PJ Dietz 4d5430e589 Add parameters to Response::__construct 2015-04-26 22:55:27 -04:00
PJ Dietz 1b0fccfe0e ServerRequest::getServerRequest builds URI 2015-04-26 22:13:33 -04:00
PJ Dietz 4f667f1dda Streams throw exceptions instead of returning false. 2015-04-26 20:49:59 -04:00
PJ Dietz dce4bdf572 ServerRequest provides proper defaults and throws exception for bad parsed body 2015-04-26 20:08:13 -04:00
PJ Dietz 534bd43d9b Request::getUri always returns a URI 2015-04-26 19:41:23 -04:00
PJ Dietz 212bb6871e Message::withHeader and withAddedHeader accept string or string[] as the second parameter. 2015-04-26 19:01:59 -04:00
PJ Dietz f706d47c6d Update Request to implement changes to PSR-7 PR #523 2015-04-26 16:05:46 -04:00
PJ Dietz 43c050ec2e Implement ServerRequest::withUploadedFiles 2015-04-26 15:32:33 -04:00
PJ Dietz 3686e3b1b2 ServerRequest parses uploaded files 2015-04-26 12:20:24 -04:00
PJ Dietz a254c69607 Reorganize ServerRequest and test 2015-04-26 11:21:55 -04:00
PJ Dietz 26d71bd792 Add UploadedFile 2015-04-23 21:53:54 -04:00
PJ Dietz 2e2b9d57c0 Uri parses string on construction 2015-04-21 15:15:53 -04:00
PJ Dietz 0fabbc5cb1 Add Uri::__toString 2015-04-19 20:59:49 -04:00
PJ Dietz 7dfa3facc1 Add Uri (Partially complete) 2015-04-19 19:07:25 -04:00
PJ Dietz 8c4b59c525 Update composer, phpunit configuration, and remove apache_request_headers 2015-04-16 19:02:43 -04:00
PJ Dietz 408d82fb73 Move Stream classes into Message namespace 2015-04-15 19:39:53 -04:00
PJ Dietz 6b20d1ea96 Update based on changes to PSR-7 2015-04-15 19:34:33 -04:00