@@ -21,16 +21,27 @@ final class PhpDebugBarMiddleware implements MiddlewareInterface
21
21
{
22
22
public const FORCE_KEY = 'X-Enable-Debug-Bar ' ;
23
23
24
+ /**
25
+ * @var DebugBarRenderer
26
+ */
24
27
private $ debugBarRenderer ;
28
+
29
+ /**
30
+ * @var ResponseFactoryInterface
31
+ */
25
32
private $ responseFactory ;
33
+
34
+ /**
35
+ * @var StreamFactoryInterface
36
+ */
26
37
private $ streamFactory ;
27
38
28
39
public function __construct (
29
- DebugBarRenderer $ debugbarRenderer ,
40
+ DebugBarRenderer $ debugBarRenderer ,
30
41
ResponseFactoryInterface $ responseFactory ,
31
42
StreamFactoryInterface $ streamFactory
32
43
) {
33
- $ this ->debugBarRenderer = $ debugbarRenderer ;
44
+ $ this ->debugBarRenderer = $ debugBarRenderer ;
34
45
$ this ->responseFactory = $ responseFactory ;
35
46
$ this ->streamFactory = $ streamFactory ;
36
47
}
@@ -60,7 +71,14 @@ public function process(ServerRequest $request, RequestHandler $handler): Respon
60
71
public function __invoke (ServerRequest $ request , Response $ response , callable $ next ): Response
61
72
{
62
73
$ handler = new class ($ next , $ response ) implements RequestHandler {
74
+ /**
75
+ * @var callable
76
+ */
63
77
private $ next ;
78
+
79
+ /**
80
+ * @var Response
81
+ */
64
82
private $ response ;
65
83
66
84
public function __construct (callable $ next , Response $ response )
@@ -81,9 +99,9 @@ private function shouldReturnResponse(ServerRequest $request, Response $response
81
99
{
82
100
$ forceHeaderValue = $ request ->getHeaderLine (self ::FORCE_KEY );
83
101
$ forceCookieValue = $ request ->getCookieParams ()[self ::FORCE_KEY ] ?? '' ;
84
- $ forceAttibuteValue = $ request ->getAttribute (self ::FORCE_KEY , '' );
85
- $ isForceEnable = in_array ('true ' , [$ forceHeaderValue , $ forceCookieValue , $ forceAttibuteValue ], true );
86
- $ isForceDisable = in_array ('false ' , [$ forceHeaderValue , $ forceCookieValue , $ forceAttibuteValue ], true );
102
+ $ forceAttributeValue = $ request ->getAttribute (self ::FORCE_KEY , '' );
103
+ $ isForceEnable = in_array ('true ' , [$ forceHeaderValue , $ forceCookieValue , $ forceAttributeValue ], true );
104
+ $ isForceDisable = in_array ('false ' , [$ forceHeaderValue , $ forceCookieValue , $ forceAttributeValue ], true );
87
105
88
106
return $ isForceDisable || (!$ isForceEnable && ($ this ->isRedirect ($ response ) || !$ this ->isHtmlAccepted ($ request )));
89
107
}
@@ -169,22 +187,22 @@ private function getContentTypeByFileName(string $filename): string
169
187
'woff2 ' => 'application/font-woff2 ' ,
170
188
];
171
189
172
- return isset ( $ map [$ ext ]) ? $ map [ $ ext ] : 'text/plain ' ;
190
+ return $ map [$ ext ] ?? 'text/plain ' ;
173
191
}
174
192
175
193
private function isHtmlResponse (Response $ response ): bool
176
194
{
177
- return $ this ->hasHeaderContains ($ response , 'Content-Type ' , ' text/html ' );
195
+ return $ this ->isHtml ($ response , 'Content-Type ' );
178
196
}
179
197
180
198
private function isHtmlAccepted (ServerRequest $ request ): bool
181
199
{
182
- return $ this ->hasHeaderContains ($ request , 'Accept ' , ' text/html ' );
200
+ return $ this ->isHtml ($ request , 'Accept ' );
183
201
}
184
202
185
- private function hasHeaderContains (MessageInterface $ message , string $ headerName, string $ value ): bool
203
+ private function isHtml (MessageInterface $ message , string $ headerName ): bool
186
204
{
187
- return strpos ($ message ->getHeaderLine ($ headerName ), $ value ) !== false ;
205
+ return strpos ($ message ->getHeaderLine ($ headerName ), ' text/html ' ) !== false ;
188
206
}
189
207
190
208
private function isRedirect (Response $ response ): bool
@@ -216,6 +234,9 @@ private function serializeResponse(Response $response) : string
216
234
);
217
235
}
218
236
237
+ /**
238
+ * @param array<string, array<string>> $headers
239
+ */
219
240
private function serializeHeaders (array $ headers ) : string
220
241
{
221
242
$ lines = [];
0 commit comments