Skip to content

Commit 03190f8

Browse files
author
Quetzy Garcia
committed
fix(RedirectPlugin): use full URLs for comparing request redirections
1 parent 55822ba commit 03190f8

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/Plugin/RedirectPlugin.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -134,9 +134,9 @@ public function __construct(array $config = [])
134134
public function handleRequest(RequestInterface $request, callable $next, callable $first)
135135
{
136136
// Check in storage
137-
if (array_key_exists($request->getRequestTarget(), $this->redirectStorage)) {
138-
$uri = $this->redirectStorage[$request->getRequestTarget()]['uri'];
139-
$statusCode = $this->redirectStorage[$request->getRequestTarget()]['status'];
137+
if (array_key_exists((string) $request->getUri(), $this->redirectStorage)) {
138+
$uri = $this->redirectStorage[(string) $request->getUri()]['uri'];
139+
$statusCode = $this->redirectStorage[(string) $request->getUri()]['status'];
140140
$redirectRequest = $this->buildRedirectRequest($request, $uri, $statusCode);
141141

142142
return $first($redirectRequest);
@@ -157,14 +157,14 @@ public function handleRequest(RequestInterface $request, callable $next, callabl
157157
$this->circularDetection[$chainIdentifier] = [];
158158
}
159159

160-
$this->circularDetection[$chainIdentifier][] = $request->getRequestTarget();
160+
$this->circularDetection[$chainIdentifier][] = (string) $request->getUri();
161161

162-
if (in_array($redirectRequest->getRequestTarget(), $this->circularDetection[$chainIdentifier])) {
162+
if (in_array((string) $redirectRequest->getUri(), $this->circularDetection[$chainIdentifier])) {
163163
throw new CircularRedirectionException('Circular redirection detected', $request, $response);
164164
}
165165

166166
if ($this->redirectCodes[$statusCode]['permanent']) {
167-
$this->redirectStorage[$request->getRequestTarget()] = [
167+
$this->redirectStorage[(string) $request->getUri()] = [
168168
'uri' => $uri,
169169
'status' => $statusCode,
170170
];

0 commit comments

Comments
 (0)