Commit Graph

274 Commits

Author SHA1 Message Date
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
PJ Dietz 4a75f4e3a6 Update tests to to avoid passing a reveal() return value by reference. 2015-04-13 19:46:03 -04:00
PJ Dietz b14641d2f4 Add bootstrap and set error reporting to E_STRICT 2015-04-13 19:17:08 -04:00
PJ Dietz 5ef74f8b89 Remove old files 2015-04-12 18:40:25 -04:00
PJ Dietz 4dba068f3d Update to match revisions to PSR-7 2015-04-12 18:13:17 -04:00
PJ Dietz 79be20c826 ServerRequest::getServerRequest reads method, request target, and protocol version from request. 2015-04-12 14:17:12 -04:00
PJ Dietz 963e1acd58 Add pre- and post-route hooks to Router 2015-04-12 13:51:49 -04:00
PJ Dietz b0a0f5262e Remove old files 2015-04-12 13:51:16 -04:00
PJ Dietz 4096295421 Stream can be created with a string as well as resource handle. 2015-04-12 13:10:40 -04:00
PJ Dietz 6e83b6b050 Add Router::respond 2015-04-12 11:49:48 -04:00
PJ Dietz 90b9503c72 Add ResponderInterface and add setter for chunk site to Responder 2015-04-12 10:07:01 -04:00
PJ Dietz df8e274f26 Add Responder 2015-04-10 00:15:35 -04:00
PJ Dietz 15ddaa1dd2 Allow null reason phrase 2015-04-10 00:13:54 -04:00
PJ Dietz 9c768793db Test apache_request_headers in ServerRequestTest 2015-04-09 20:57:20 -04:00
PJ Dietz dea577fdb4 Add NullStream 2015-04-07 21:35:02 -04:00
PJ Dietz cbeadbda53 Use fstat to read the size of the resource in Stream 2015-04-07 21:34:57 -04:00
PJ Dietz cb87660548 Add RouteFactoryInterface 2015-04-06 20:24:40 -04:00
PJ Dietz 6d9adfc7ee Update Template Route to accept one parameter for the default variable pattern or map of patterns 2015-04-06 19:55:04 -04:00
PJ Dietz d66ba80ec9 Allow Router to assign middleware to MethodMap 2015-04-06 19:12:59 -04:00
PJ Dietz 0d204d9279 Add MethodMap
MethodMap::add adds each comma-separated method for one middleware

Fix name for MethodMapTest
2015-04-06 19:12:57 -04:00
PJ Dietz decf712354 Add Router 2015-04-03 06:35:47 -04:00
PJ Dietz 57271fa19f Add RouteFactory 2015-04-02 22:15:07 -04:00
PJ Dietz 918e33bd0a Add RouteTable 2015-04-02 21:49:01 -04:00
PJ Dietz e4ef1a8cb3 Add TemplateRoute 2015-04-02 20:53:54 -04:00
PJ Dietz c82acfa380 Add RegexRoute 2015-04-02 20:21:49 -04:00
PJ Dietz d367f1de79 Add Static- and PrefixRoutes 2015-04-02 20:10:13 -04:00
PJ Dietz 506c37ffdd Add MiddlewareInterface and Dispatcher 2015-04-02 20:09:42 -04:00
PJ Dietz bd5902415a Rename StreamStream Stream 2015-04-02 18:45:11 -04:00
PJ Dietz 4502df5c1c ServerRequest creates stream wrapping php://input for body on creation 2015-04-02 18:42:05 -04:00
PJ Dietz a5cb481d79 Add StringStream 2015-03-25 21:52:52 -04:00
PJ Dietz a6b8a11cde Add StreamStream 2015-03-25 21:40:52 -04:00
PJ Dietz 64e5786537 Remove old ApacheRequestHeadersTest 2015-03-24 20:34:34 -04:00
PJ Dietz f3e5cddf4a Remove RouteBuilder and ParseException 2015-03-24 20:33:34 -04:00
PJ Dietz 51e1be92fd Allow passing attributes into ServerRequest::getServerRequest
Remove other methods relating to the server request.
2015-03-24 20:29:14 -04:00
PJ Dietz 166fc66117 Assign $_POST to parsedBody on creation if form content header is set. 2015-03-24 19:37:36 -04:00
PJ Dietz fcbdd1ebfb Read headers in ServerRequest
- Add withServerRequest
- Add updateWithServerRequest
- Add getServerRequestHeaders
2015-03-22 21:10:54 -04:00
PJ Dietz 513db2def1 Add Message\ServerRequest 2015-03-22 20:42:09 -04:00
PJ Dietz 734c87188f Style fixes for Message and MessageTest 2015-03-22 18:03:21 -04:00
PJ Dietz 292e213c0a Add Message\Request 2015-03-22 18:02:36 -04:00
PJ Dietz 9da0780875 Move old integration tests 2015-03-22 14:57:12 -04:00
PJ Dietz 197ea3000a Add Message\Response 2015-03-22 14:56:08 -04:00
PJ Dietz 60b309a3d1 Add Message\Message 2015-03-22 14:03:31 -04:00
PJ Dietz b6df67afd0 Add Iterator to HeaderCollection 2015-03-22 14:03:18 -04:00
PJ Dietz 2575bc743e Refactor HeaderCollection to store headers as string[] instead of Header[]
Remove Header
Move Header out of own namespace to Message
2015-03-22 12:05:48 -04:00
PJ Dietz a2ae6fff7d Cloning a HeaderCollection yields deep copies of the Headers. 2015-03-22 11:36:06 -04:00
PJ Dietz 465425f01f Move old tests from test/old 2015-03-22 11:35:04 -04:00
PJ Dietz de9d75fdfc Fix namespace on Message\Header\HeaderCollection test 2015-03-22 10:15:24 -04:00
PJ Dietz 9d7030faa0 Fix namespace on Message\Header test 2015-03-22 10:14:59 -04:00
PJ Dietz 3ab7c55257 Add Message\Header\HeaderCollection 2015-03-22 09:38:18 -04:00
PJ Dietz ba26379fdc Add Message\Header\Header 2015-03-22 09:16:17 -04:00
PJ Dietz 381310a88a Exclude integration tests from code coverage 2015-03-11 21:33:59 -04:00
PJ Dietz f08691fff1 Allow template variables to be named as alpha followed by alphanumeric and underscore. 2015-03-08 14:59:32 -04:00
PJ Dietz fdeff57a79 Prevent Router from trying to call respond on non responses. 2015-02-22 17:17:56 -05:00
PJ Dietz 1a5712a417 Split tests into unit and integration test suites 2015-02-22 14:05:05 -05:00
PJ Dietz 812012bdbf Propagate $request and $args to route and errorHandler callables 2015-02-22 12:01:21 -05:00
PJ Dietz d785e21fee Propagate arguments to callable in HandlerUnpacker::unpack 2015-02-22 09:08:15 -05:00
PJ Dietz 64ef9cc4e7 Update copyright and rename a couple tests 2015-02-21 16:01:06 -05:00
PJ Dietz b582fcf546 Deprecate RouteBuilder 2015-02-21 15:59:27 -05:00
PJ Dietz 614da5f2ff Update tests for messages. 2015-02-21 15:59:08 -05:00
PJ Dietz d4ad282abc Update tests for Client and Handler 2015-02-21 14:51:42 -05:00
PJ Dietz 5dacb232ec Updates to Router
- Add Router::add method
- Refactor Router to contain one RouteTable
2015-02-21 14:11:53 -05:00
PJ Dietz 259dd0baa1 Remove RouteTable::addRoutes 2015-02-21 08:14:38 -05:00
PJ Dietz 1c82908eeb Refactor Router to use RouteTables 2015-02-21 08:10:58 -05:00
PJ Dietz 14195355e3 Add RouteTable 2015-02-21 07:13:09 -05:00
PJ Dietz 3d68a0af86 Add RouteFactory 2015-02-20 07:45:39 -05:00
PJ Dietz 04561076d5 Update Router to work with updated Routes and ErrorHandlers
Deprecate:
	- Router::setStaticRoute
	- Router::setPrefixRoute
2015-02-19 22:04:34 -05:00
PJ Dietz 4deac492dd Update BaseRoute to use HandlerUnpacker 2015-02-19 19:59:33 -05:00
PJ Dietz 5dc5cdab06 Add HandlerUnpacker 2015-02-19 19:51:42 -05:00
PJ Dietz d34607a0d9 Update TemplateRoute test 2015-02-18 21:54:58 -05:00
PJ Dietz deff504942 Update BaseRoute test 2015-02-18 21:54:25 -05:00
PJ Dietz c38659a310 Update TemplateRoute tests 2015-02-18 21:39:07 -05:00
PJ Dietz 6859bd9707 Update RegexRoute tests 2015-02-18 21:21:56 -05:00
PJ Dietz 1b17ef5d0a Revise BaseRoute tests 2015-02-18 20:48:12 -05:00
PJ Dietz 63fd00fff0 Update PrefixRoute tests 2015-02-18 20:47:45 -05:00
PJ Dietz 38aaf26943 Update StaticRoute tests to use Prophecy 2015-02-18 20:47:00 -05:00
PJ Dietz 9498542f30 Allow Route target to be a callable, string, or instance 2015-02-18 20:17:09 -05:00
PJ Dietz 38639d9ee4 Update TemplateRouter to better match templates with variables in more complicated paths 2015-02-02 17:08:25 -05:00
PJ Dietz bcaa0ee7b7 Use random ports for Client test to reduce false errors on Travis 2015-01-21 13:49:17 -05:00
PJ Dietz 84044d5057 Re-add converting HttpExceptions to responses in Handler 2015-01-21 11:03:01 -05:00
PJ Dietz 1a88e0273d Use registered 404 error handler when no route matches in Router::respond 2015-01-21 09:51:14 -05:00
PJ Dietz ca2c8625ec Store PrefixRoutes to a separate array.
Prioritize routes in the order static, prefix, everything else.
2015-01-02 13:13:08 -05:00
PJ Dietz caef817535 Do not allow routing to continue after a dispatched StaticRoute returns null 2015-01-02 12:31:02 -05:00
PJ Dietz 78fe57d736 Store StaticRoutes to separate hash array in Router
Add StaticRouteInterface
2015-01-02 12:00:30 -05:00
PJ Dietz 666f45977e Merge branch 'eatonphil-master' into prefix 2015-01-01 12:43:41 -05:00
PJ Dietz 9eec436ad4 Add error handlers to Router
Move catching HttpExceptions and translating into responses from Handler to Router
2015-01-01 12:41:53 -05:00
PJ Dietz 6d499a6643 Add PrefixRoute 2014-12-29 13:09:51 -05:00
PJ Dietz 8b5f9e40a6 Update phpunit. Allow setting port for ClientTest as an environment variable. 2014-12-29 12:49:38 -05:00
PJ Dietz 75088499b8 Ensure $args propagate from Router to Handlers 2014-08-02 17:42:16 -04:00
PJ Dietz 512897effd Prefer apache_request_headers when reading request headers.
Apache does not pass the Authorization header through to PHP as
$_SERVER["HTTP_AUTHORIZATION"], so reading from $_SERVER is not viable
with Apache.
2014-07-28 12:43:29 -04:00
PJ Dietz d1a77c5454 Allow * wildcard at end of URI template 2014-07-27 16:37:24 -04:00
PJ Dietz 1c5d95e727 Router::getResponse() now returns null to allow better nesting
Runs tests that output responses in process isolation
2014-07-26 19:05:38 -04:00
PJ Dietz c8a65f4248 Test captures groups in RegexRouteTest 2014-07-26 14:57:31 -04:00
PJ Dietz 4db7c8da7d Add Request::getFormFields. Add Test for sending form-encoded request 2014-07-26 11:49:15 -04:00