Skip to content
This repository was archived by the owner on Jan 29, 2020. It is now read-only.

Commit 84d6857

Browse files
committed
Use DispatchMiddleware and PathBasedRoutingMiddleware from zend-expressive-router v3
This patch updates zend-expressive to consume the `DispatchMiddleware` and `PathBasedRoutingMiddleware` classes from zend-expressive-router v3.0.0alpha1 and up. Doing so allows removal of those classes and related tests from this package, but requires: - `Application` now needs to depend on `PathBasedRoutingMiddleware` - `ApplicationConfigInjectionDelegator` needs to use the new classes when injecting routing and dispatch middleware. - tests needed updating to refer to the new classes.
1 parent 1d94484 commit 84d6857

21 files changed

+112
-641
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"psr/http-message": "^1.0.1",
2929
"psr/http-server-middleware": "^1.0",
3030
"zendframework/zend-diactoros": "^1.3.10",
31-
"zendframework/zend-expressive-router": "^3.0.0-dev",
31+
"zendframework/zend-expressive-router": "^3.0.0alpha1",
3232
"zendframework/zend-expressive-template": "^2.0.0-dev",
3333
"zendframework/zend-stratigility": "^3.0.0alpha2"
3434
},

composer.lock

Lines changed: 9 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Application.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
use Psr\Http\Message\ServerRequestInterface;
1414
use Psr\Http\Server\MiddlewareInterface;
1515
use Psr\Http\Server\RequestHandlerInterface;
16+
use Zend\Expressive\Router\PathBasedRoutingMiddleware;
1617
use Zend\Stratigility\MiddlewarePipeInterface;
1718

1819
use function Zend\Stratigility\path;
@@ -30,7 +31,7 @@ class Application implements MiddlewareInterface, RequestHandlerInterface
3031
private $pipeline;
3132

3233
/**
33-
* @var Middleware\RouteMiddleware
34+
* @var PathBasedRoutingMiddleware
3435
*/
3536
private $routes;
3637

@@ -42,7 +43,7 @@ class Application implements MiddlewareInterface, RequestHandlerInterface
4243
public function __construct(
4344
MiddlewareFactory $factory,
4445
MiddlewarePipeInterface $pipeline,
45-
Middleware\RouteMiddleware $routes,
46+
PathBasedRoutingMiddleware $routes,
4647
ApplicationRunner $runner
4748
) {
4849
$this->factory = $factory;

src/ConfigProvider.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@ public function getDependencies() : array
3333
// @codingStandardsIgnoreStart
3434
return [
3535
'aliases' => [
36-
Handler\DefaultHandler::class => Handler\NotFoundHandler::class,
36+
Handler\DefaultHandler::class => Handler\NotFoundHandler::class,
37+
Middleware\DispatchMiddleware::class => Router\DispatchMiddleware::class,
38+
Middleware\RouteMiddleware::class => Router\PathBasedRoutingMiddleware::class,
3739
],
3840
'factories' => [
3941
Application::class => Container\ApplicationFactory::class,
@@ -46,10 +48,10 @@ public function getDependencies() : array
4648
Handler\NotFoundHandler::class => Handler\NotFoundHandlerFactory::class,
4749
MiddlewareContainer::class => Container\MiddlewareContainerFactory::class,
4850
MiddlewareFactory::class => Container\MiddlewareFactoryFactory::class,
49-
Middleware\DispatchMiddleware::class => Container\DispatchMiddlewareFactory::class,
5051
Middleware\NotFoundMiddleware::class => Container\NotFoundMiddlewareFactory::class,
51-
Middleware\RouteMiddleware::class => Container\RouteMiddlewareFactory::class,
5252
ResponseInterface::class => Container\ResponseFactory::class,
53+
Router\DispatchMiddleware::class => Container\DispatchMiddlewareFactory::class,
54+
Router\PathBasedRoutingMiddleware::class => Container\RouteMiddlewareFactory::class,
5355
ServerRequestErrorResponseGenerator::class => Container\ServerRequestErrorResponseGeneratorFactory::class,
5456
ServerRequestFactory::class => Container\ServerRequestFactoryFactory::class,
5557
],

src/Container/ApplicationConfigInjectionDelegator.php

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
use SplPriorityQueue;
1414
use Zend\Expressive\Application;
1515
use Zend\Expressive\Exception\InvalidArgumentException;
16-
use Zend\Expressive\Middleware;
16+
use Zend\Expressive\Router\DispatchMiddleware;
17+
use Zend\Expressive\Router\PathBasedRoutingMiddleware;
1718
use Zend\Expressive\Router\Route;
1819

1920
class ApplicationConfigInjectionDelegator
@@ -64,8 +65,8 @@ public function __invoke(ContainerInterface $container, string $serviceName, cal
6465
* 'middleware_pipeline' => [
6566
* // An array of middleware to register with the pipeline.
6667
* // entries to register prior to routing/dispatching...
67-
* // - entry for \Zend\Expressive\Middleware\RouteMiddleware::class
68-
* // - entry \Zend\Expressive\Middleware\DispatchMiddleware::class
68+
* // - entry for \Zend\Expressive\Router\PathBasedRoutingMiddleware::class
69+
* // - entry \Zend\Expressive\Router\DispatchMiddleware::class
6970
* // entries to register after routing/dispatching...
7071
* ],
7172
* ];
@@ -106,8 +107,8 @@ public static function injectPipelineFromConfig(Application $application, array
106107
return;
107108
}
108109

109-
$application->pipe(Middleware\RouteMiddleware::class);
110-
$application->pipe(Middleware\DispatchMiddleware::class);
110+
$application->pipe(PathBasedRoutingMiddleware::class);
111+
$application->pipe(DispatchMiddleware::class);
111112
return;
112113
}
113114

src/Container/ApplicationFactory.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
use Zend\Expressive\ApplicationPipeline;
1515
use Zend\Expressive\ApplicationRunner;
1616
use Zend\Expressive\MiddlewareFactory;
17-
use Zend\Expressive\Middleware\RouteMiddleware;
17+
use Zend\Expressive\Router\PathBasedRoutingMiddleware;
1818
use Zend\Stratigility\MiddlewarePipe;
1919

2020
/**
@@ -36,7 +36,7 @@ public function __invoke(ContainerInterface $container) : Application
3636
return new Application(
3737
$container->get(MiddlewareFactory::class),
3838
$container->get(ApplicationPipeline::class),
39-
$container->get(RouteMiddleware::class),
39+
$container->get(PathBasedRoutingMiddleware::class),
4040
$container->get(ApplicationRunner::class)
4141
);
4242
}

src/Container/DispatchMiddlewareFactory.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
namespace Zend\Expressive\Container;
1111

1212
use Psr\Container\ContainerInterface;
13-
use Zend\Expressive\Middleware\DispatchMiddleware;
13+
use Zend\Expressive\Router\DispatchMiddleware;
1414

1515
class DispatchMiddlewareFactory
1616
{

src/Container/RouteMiddlewareFactory.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@
1111

1212
use Psr\Container\ContainerInterface;
1313
use Psr\Http\Message\ResponseInterface;
14-
use Zend\Expressive\Middleware\RouteMiddleware;
14+
use Zend\Expressive\Router\PathBasedRoutingMiddleware;
1515
use Zend\Expressive\Router\RouterInterface;
1616

1717
class RouteMiddlewareFactory
1818
{
19-
public function __invoke(ContainerInterface $container) : RouteMiddleware
19+
public function __invoke(ContainerInterface $container) : PathBasedRoutingMiddleware
2020
{
21-
return new RouteMiddleware(
21+
return new PathBasedRoutingMiddleware(
2222
$container->get(RouterInterface::class),
2323
$container->get(ResponseInterface::class)
2424
);

src/Middleware/DispatchMiddleware.php

Lines changed: 0 additions & 41 deletions
This file was deleted.

0 commit comments

Comments
 (0)