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
b06abc0df2
Stream checks isSeeakable before calling rewind in __toString
2015-05-17 16:56:30 -04:00
PJ Dietz
15da2ab805
Add .gitattributes to remove non-essentials files from dist
2015-05-15 19:27:18 -04:00
PJ Dietz
c8bbd6d2b8
Remove dead code from Transmitter
2015-05-15 19:11:54 -04:00
PJ Dietz
15602d8e97
Remove suppression operator from RegexRoute
2015-05-15 19:11:43 -04:00
PJ Dietz
74369f5b0b
Update composer to tagged psr/http-message
2015-05-15 19:11:23 -04:00
PJ Dietz
6dda878dd7
Remove user files from .gitignore
2015-05-15 19:10:58 -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
3d4a263beb
Server accepts all dependencies as arguments to either constructor or respond
2015-05-14 19:43:08 -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
22a17e42bb
Update Route docblocks
2015-05-12 17:44:28 -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
e3083609db
Remove fork of psr/http-message from composer.json
2015-05-11 15:27:18 -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
9cc08bb875
Remove HttpExceptions from Composer
2015-05-10 20:24:35 -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
7874484c53
Remove HttpExceptions
...
This will become its own package.
2015-05-10 16:50:21 -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
94d6cc23b2
Add DispatchProviderInterface
2015-05-10 11:31:19 -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