Commit Graph

249 Commits

Author SHA1 Message Date
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
PJ Dietz 297c4aa2e8 Update tests for Routes 2014-07-26 06:15:17 -04:00
PJ Dietz ea05633dfb Update RouterTest 2014-07-26 05:48:54 -04:00
PJ Dietz 4d31e2e977 Update ResponseBuilder tests. Fix name of ResponseTest 2014-07-26 05:36:42 -04:00
PJ Dietz 1222e61ebb Update Handler tests 2014-07-26 05:20:22 -04:00
PJ Dietz 4ae6e5f2e4 Fix issue in Response when setting headers in constructor
Update tests for Response
2014-07-26 01:47:05 -04:00
PJ Dietz 69b9bb51aa Rewrite RequestTest 2014-07-26 01:21:09 -04:00
PJ Dietz 2d9373e287 Test cURL errors in Client 2014-07-25 23:35:17 -04:00
PJ Dietz c9c21fd22e Test custom cURL options in Client 2014-07-25 23:27:24 -04:00
PJ Dietz 3d44d1a3f5 Test sending body with Client 2014-07-25 23:08:27 -04:00
PJ Dietz 832e849875 Test Client headers 2014-07-25 22:39:32 -04:00
PJ Dietz 5e9980f864 Write test to check if Client send method properly 2014-07-25 22:25:59 -04:00
PJ Dietz 1a21b2b7d0 Add Client class
Move Request::request() to Client::request()
2014-07-24 20:41:32 -04:00
PJ Dietz ad1e5a1782 Add tests for Handler 2014-07-14 01:01:51 -04:00
PJ Dietz ecb58c11b8 Clean up unused imports 2014-07-14 01:00:38 -04:00
PJ Dietz b601c38d36 Add tests for Router 2014-07-14 00:19:04 -04:00
PJ Dietz efd1843603 Remove output buffering functions from setup() and tearDown() 2014-07-14 00:18:54 -04:00
PJ Dietz 794d0901b9 Fix documentation and add tests for Response 2014-07-13 23:56:19 -04:00
PJ Dietz 581c3d1351 Update documentation and add tests for Request 2014-07-13 21:39:01 -04:00
PJ Dietz 6a642dfed2 Fix documentation and add tests for BaseRoute 2014-07-13 17:18:08 -04:00
PJ Dietz e597926634 Fix documentation and add tests for TemplateRoute 2014-07-13 17:08:15 -04:00
PJ Dietz f11c13c1b3 Fix documentation and add tests for RegexRoute 2014-07-13 16:27:09 -04:00
PJ Dietz 921d84cf8b Update StaticRoute documentation and add tests 2014-07-13 15:50:30 -04:00
PJ Dietz 97836e7fa0 100% on RouteBuilder 2014-07-13 14:50:23 -04:00
PJ Dietz 18d3d6c9db Update RouteBuilder docs and add test
- Remove RouteBuilder::buildRoutesFromJson()
- Allow RouteBuilder::buildRoutes() to parse JSON
- Add PHPUnit
- Add tests for RouteBuidler
- Update docs for RouteBuilder
- Update README RouteBuilder example
- Rename constant in BaseRoute
2014-07-13 14:29:37 -04:00