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

Commit a214e25

Browse files
committed
Add aliases for v2 Implicit*Middleware classes
These were defined as invokables in v2, and had no dependency entries. However, they were referenced in the pipeline. Having an alias for each allows them to now resolve to the correct factories.
1 parent 5a23143 commit a214e25

File tree

3 files changed

+30
-4
lines changed

3 files changed

+30
-4
lines changed

src/ConfigProvider.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,12 @@ public function getDependencies() : array
3232
// @codingStandardsIgnoreStart
3333
return [
3434
'aliases' => [
35-
DEFAULT_DELEGATE => Handler\NotFoundHandler::class,
36-
DISPATCH_MIDDLEWARE => Router\Middleware\DispatchMiddleware::class,
37-
NOT_FOUND_MIDDLEWARE => Handler\NotFoundHandler::class,
38-
ROUTE_MIDDLEWARE => Router\Middleware\PathBasedRoutingMiddleware::class,
35+
DEFAULT_DELEGATE => Handler\NotFoundHandler::class,
36+
DISPATCH_MIDDLEWARE => Router\Middleware\DispatchMiddleware::class,
37+
IMPLICIT_HEAD_MIDDLEWARE => Router\Middleware\ImplicitHeadMiddleware::class,
38+
IMPLICIT_OPTIONS_MIDDLEWARE => Router\Middleware\ImplicitOptionsMiddleware::class,
39+
NOT_FOUND_MIDDLEWARE => Handler\NotFoundHandler::class,
40+
ROUTE_MIDDLEWARE => Router\Middleware\PathBasedRoutingMiddleware::class,
3941
],
4042
'factories' => [
4143
Application::class => Container\ApplicationFactory::class,

src/constants.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,26 @@
2828
*/
2929
const DISPATCH_MIDDLEWARE = __NAMESPACE__ . '\Middleware\DispatchMiddleware';
3030

31+
/**
32+
* Legacy service name for the ImplicitHeadMiddleware referenced in version 2.
33+
* Should resolve to the Zend\Expressive\Router\Middleware\ImplicitHeadMiddleware
34+
* service.
35+
*
36+
* @deprecated To remove in version 4.0.0.
37+
* @var string
38+
*/
39+
const IMPLICIT_HEAD_MIDDLEWARE = __NAMESPACE__ . '\Middleware\ImplicitHeadMiddleware';
40+
41+
/**
42+
* Legacy service name for the ImplicitOptionsMiddleware referenced in version 2.
43+
* Should resolve to the Zend\Expressive\Router\Middleware\ImplicitOptionsMiddleware
44+
* service.
45+
*
46+
* @deprecated To remove in version 4.0.0.
47+
* @var string
48+
*/
49+
const IMPLICIT_OPTIONS_MIDDLEWARE = __NAMESPACE__ . '\Middleware\ImplicitOptionsMiddleware';
50+
3151
/**
3252
* Legacy/transitional service name for the NotFoundMiddleware introduced in
3353
* 3.0.0alpha2. Should resolve to the Handler\NotFoundHandler class.

test/ConfigProviderTest.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626

2727
use const Zend\Expressive\DEFAULT_DELEGATE;
2828
use const Zend\Expressive\DISPATCH_MIDDLEWARE;
29+
use const Zend\Expressive\IMPLICIT_HEAD_MIDDLEWARE;
30+
use const Zend\Expressive\IMPLICIT_OPTIONS_MIDDLEWARE;
2931
use const Zend\Expressive\NOT_FOUND_MIDDLEWARE;
3032
use const Zend\Expressive\NOT_FOUND_RESPONSE;
3133
use const Zend\Expressive\ROUTE_MIDDLEWARE;
@@ -49,6 +51,8 @@ public function testProviderDefinesExpectedAliases()
4951
$aliases = $config['aliases'];
5052
$this->assertArrayHasKey(DEFAULT_DELEGATE, $aliases);
5153
$this->assertArrayHasKey(DISPATCH_MIDDLEWARE, $aliases);
54+
$this->assertArrayHasKey(IMPLICIT_HEAD_MIDDLEWARE, $aliases);
55+
$this->assertArrayHasKey(IMPLICIT_OPTIONS_MIDDLEWARE, $aliases);
5256
$this->assertArrayHasKey(NOT_FOUND_MIDDLEWARE, $aliases);
5357
$this->assertArrayHasKey(ROUTE_MIDDLEWARE, $aliases);
5458
}

0 commit comments

Comments
 (0)