Skip to content

Commit d1378d4

Browse files
committed
Generates links using UrlImmutable::withoutUserInfo() (nette/http#160)
1 parent 104d54e commit d1378d4

File tree

5 files changed

+8
-8
lines changed

5 files changed

+8
-8
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"require": {
1818
"php": ">=7.1",
1919
"nette/component-model": "^3.0",
20-
"nette/http": "^3.0",
20+
"nette/http": "^3.0.2",
2121
"nette/routing": "~3.0.0",
2222
"nette/utils": "^3.0"
2323
},

src/Application/MicroPresenter.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ public function run(Application\Request $request): Application\IResponse
5959
$this->request = $request;
6060

6161
if ($this->httpRequest && $this->router && !$this->httpRequest->isAjax() && ($request->isMethod('get') || $request->isMethod('head'))) {
62-
$refUrl = $this->httpRequest->getUrl();
62+
$refUrl = $this->httpRequest->getUrl()->withoutUserInfo();
6363
$url = $this->router->constructUrl($request->toArray(), $refUrl);
64-
if ($url !== null && !$this->httpRequest->getUrl()->isEqual($url)) {
64+
if ($url !== null && !$refUrl->isEqual($url)) {
6565
return new Responses\RedirectResponse($url, Http\IResponse::S301_MOVED_PERMANENTLY);
6666
}
6767
}
@@ -120,7 +120,7 @@ public function createTemplate(string $class = null, callable $latteFactory = nu
120120
$template->presenter = $this;
121121
$template->context = $this->context;
122122
if ($this->httpRequest) {
123-
$url = $this->httpRequest->getUrl();
123+
$url = $this->httpRequest->getUrl()->withoutUserInfo();
124124
$template->baseUrl = rtrim($url->getBaseUrl(), '/');
125125
$template->basePath = rtrim($url->getBasePath(), '/');
126126
}

src/Application/UI/Presenter.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -695,7 +695,7 @@ public function canonicalize(string $destination = null, array $args = []): void
695695
);
696696
} catch (InvalidLinkException $e) {
697697
}
698-
if (isset($url) && !$this->httpRequest->getUrl()->isEqual($url)) {
698+
if (isset($url) && !$this->httpRequest->getUrl()->withoutUserInfo()->isEqual($url)) {
699699
$code = $request->hasFlag($request::VARYING) ? Http\IResponse::S302_FOUND : Http\IResponse::S301_MOVED_PERMANENTLY;
700700
$this->sendResponse(new Responses\RedirectResponse($url, $code));
701701
}
@@ -921,7 +921,7 @@ protected function requestToUrl(Application\Request $request, bool $relative = n
921921
{
922922
if ($this->refUrlCache === null) {
923923
$url = $this->httpRequest->getUrl();
924-
$this->refUrlCache = new Http\UrlScript($url->getHostUrl() . $url->getScriptPath());
924+
$this->refUrlCache = new Http\UrlScript($url->withoutUserInfo()->getHostUrl() . $url->getScriptPath());
925925
}
926926
if (!$this->router) {
927927
throw new Nette\InvalidStateException('Unable to generate URL, service Router has not been set.');

src/Bridges/ApplicationDI/ApplicationExtension.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ public function loadConfiguration()
9191

9292
$builder->addDefinition($this->prefix('linkGenerator'))
9393
->setFactory(Nette\Application\LinkGenerator::class, [
94-
1 => new Definitions\Statement('@Nette\Http\IRequest::getUrl'),
94+
1 => new Definitions\Statement([new Definitions\Statement('@Nette\Http\IRequest::getUrl'), 'withoutUserInfo']),
9595
]);
9696

9797
if ($this->name === 'application') {

src/Bridges/ApplicationLatte/TemplateFactory.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ public function createTemplate(UI\Control $control = null): UI\ITemplate
106106

107107
// default parameters
108108
$template->user = $this->user;
109-
$template->baseUrl = $this->httpRequest ? rtrim($this->httpRequest->getUrl()->getBaseUrl(), '/') : null;
109+
$template->baseUrl = $this->httpRequest ? rtrim($this->httpRequest->getUrl()->withoutUserInfo()->getBaseUrl(), '/') : null;
110110
$template->basePath = preg_replace('#https?://[^/]+#A', '', $template->baseUrl);
111111
$template->flashes = [];
112112
if ($control) {

0 commit comments

Comments
 (0)