Commit Graph

186 Commits

Author SHA1 Message Date
PJ Dietz d95498bcae Move HttpExceptions to new namespace. 2015-03-24 20:32:30 -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 7cb6304037 Refactor Request::getRequestTarget to get PHPUnit to provide accurate coverage. 2015-03-24 19:38:59 -04:00
PJ Dietz d696727cb1 Code style update 2015-03-24 19:38:18 -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 fe93ab13c1 Change Message\Message::headers from private to protected 2015-03-22 21:09:31 -04:00
PJ Dietz 51f057b300 Minor fix to Message\Request 2015-03-22 21:09:06 -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 60a0913daf Remove unused import from Response 2015-03-22 18:02:56 -04:00
PJ Dietz 292e213c0a Add Message\Request 2015-03-22 18:02:36 -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 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 b1f8b076a7 PhpDoc cleanup 2015-03-08 17:36:36 -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 81ce6dae9d Add additional HttpExceptions 2015-03-04 20:59:52 -05:00
PJ Dietz 2aadfe74b3 Code cleanup 2015-03-04 19:06:16 -05:00
PJ Dietz fdeff57a79 Prevent Router from trying to call respond on non responses. 2015-02-22 17:17:56 -05:00
PJ Dietz 13e683225d Fix PhpDoc errors 2015-02-22 14:44:20 -05:00
PJ Dietz a5c180dace Code inspection 2015-02-22 14:10:15 -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 b350693aca Rearrange Route 2015-02-21 09:52:23 -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 56cf56c6c5 Fix typo 2015-02-20 07:45:48 -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 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 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 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
Phil 6ae85398db Just making silly mistakes now... 2015-01-01 20:43:07 +00:00
Phil b6ec262d0e Forgot to catch exceptions in static routes 2015-01-01 20:38:57 +00:00
Phil 451a1c0576 Trying to stop not set error... 2015-01-01 20:27:45 +00:00
Phil aaaf644118 Initialized response to null to be safe 2015-01-01 20:21:17 +00:00
Phil bb052625af Made sure not to iterate over StaticRoutes again because the key they map to is a specific child Handler 2015-01-01 20:17:48 +00:00
Phil b0c1330a26 Optimized for static routes 2015-01-01 19:44:33 +00: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
Phil 07c55bb70b no error handlers case 2014-12-31 21:12:29 +00:00
Phil cc17ebbe48 Added support for custom error handlers 2014-12-31 21:06:06 +00:00
PJ Dietz 6d499a6643 Add PrefixRoute 2014-12-29 13:09:51 -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 46f11b2b9b Fix Request for PHP 5.3.0 compatibility 2014-07-28 10:08:27 -04:00
PJ Dietz 7d3f4442b4 Code style 2014-07-27 16:52:59 -04:00
PJ Dietz d1a77c5454 Allow * wildcard at end of URI template 2014-07-27 16:37:24 -04:00
PJ Dietz e77c85f71b Update documentation and README 2014-07-26 22:39:26 -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 60eaabadd5 Update phpdoc for Client 2014-07-26 11:59:46 -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 4ae6e5f2e4 Fix issue in Response when setting headers in constructor
Update tests for Response
2014-07-26 01:47:05 -04:00
PJ Dietz 3d1690404e Add Request::setFormFields 2014-07-26 01:20:51 -04:00
PJ Dietz 3d44d1a3f5 Test sending body with Client 2014-07-25 23:08:27 -04:00
PJ Dietz 70c2ef1150 Fix problem where Client did not set headers. 2014-07-25 14:29:04 -04:00
PJ Dietz 1a21b2b7d0 Add Client class
Move Request::request() to Client::request()
2014-07-24 20:41:32 -04:00
PJ Dietz 982e048b4f Move HttpExceptions to their own namespace 2014-07-14 01:01:41 -04:00
PJ Dietz 1e32c66cb5 Always clean body on HEAD request 2014-07-14 01:01:15 -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 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 8aa6b91d91 Update documentation on Router and Message 2014-07-13 17:41:52 -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 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
PJ Dietz ae9fbaa709 Add phpdoc for HttpException and subclasses. 2014-07-13 10:26:01 -04:00
PJ Dietz aec8bcca4a Fix phpdoc for interfaces, Handler. 2014-07-13 10:12:12 -04:00
PJ Dietz 3be61bfb07 Fix phpdoc in Handler 2014-07-13 09:22:13 -04:00
PJ Dietz c61b2197ea Remove @package tag from phpdoc throughout. 2014-07-13 09:00:38 -04:00
PJ Dietz d9840067db Fix typos in exception names. 2014-07-11 15:01:25 -04:00
PJ Dietz 47fdc0e31b Add HTTP Exceptions and convert to responses in Handler 2014-07-10 22:47:05 -04:00
PJ Dietz 25c423e0ee Simplify Request::getRequestHeaders() 2014-07-08 20:21:23 -04:00
PJ Dietz 08cf2f4ec2 Fix typos 2014-06-29 10:51:51 -04:00
PJ Dietz aa06181e40 Refactor DispatcherInterface to HandlerInterface
Update file doc blocks
Code inspection
2014-06-29 10:43:39 -04:00