Skip to content

Commit 5919611

Browse files
committed
Router::constructUrl() typehint changed from Nette\Http\Url to UrlScript (BC break)
1 parent 4d0c5a5 commit 5919611

19 files changed

+37
-43
lines changed

src/Application/IRouter.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,5 @@ function match(Nette\Http\IRequest $httpRequest): ?array;
2828
/**
2929
* Constructs absolute URL from array.
3030
*/
31-
function constructUrl(array $params, Nette\Http\Url $refUrl): ?string;
31+
function constructUrl(array $params, Nette\Http\UrlScript $refUrl): ?string;
3232
}

src/Application/LinkGenerator.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ final class LinkGenerator
2222
/** @var IRouter */
2323
private $router;
2424

25-
/** @var Nette\Http\Url */
25+
/** @var Nette\Http\UrlScript */
2626
private $refUrl;
2727

2828
/** @var IPresenterFactory|null */
2929
private $presenterFactory;
3030

3131

32-
public function __construct(IRouter $router, Nette\Http\Url $refUrl, IPresenterFactory $presenterFactory = null)
32+
public function __construct(IRouter $router, Nette\Http\UrlScript $refUrl, IPresenterFactory $presenterFactory = null)
3333
{
3434
$this->router = $router;
3535
$this->refUrl = $refUrl;

src/Application/MicroPresenter.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ public function run(Application\Request $request): Application\IResponse
5858
$this->request = $request;
5959

6060
if ($this->httpRequest && $this->router && !$this->httpRequest->isAjax() && ($request->isMethod('get') || $request->isMethod('head'))) {
61-
$refUrl = clone $this->httpRequest->getUrl();
62-
$url = $this->router->constructUrl($request->toArray(), $refUrl->setPath($refUrl->getScriptPath()));
61+
$refUrl = $this->httpRequest->getUrl();
62+
$url = $this->router->constructUrl($request->toArray(), $refUrl);
6363
if ($url !== null && !$this->httpRequest->getUrl()->isEqual($url)) {
6464
return new Responses\RedirectResponse($url, Http\IResponse::S301_MOVED_PERMANENTLY);
6565
}

src/Application/Routers/CliRouter.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ public function match(Nette\Http\IRequest $httpRequest): ?array
9191
/**
9292
* This router is only unidirectional.
9393
*/
94-
public function constructUrl(array $params, Nette\Http\Url $refUrl): ?string
94+
public function constructUrl(array $params, Nette\Http\UrlScript $refUrl): ?string
9595
{
9696
return null;
9797
}

src/Application/Routers/Route.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ public function match(Nette\Http\IRequest $httpRequest): ?array
257257
/**
258258
* Constructs absolute URL from array.
259259
*/
260-
public function constructUrl(array $params, Nette\Http\Url $refUrl): ?string
260+
public function constructUrl(array $params, Nette\Http\UrlScript $refUrl): ?string
261261
{
262262
if ($this->flags & self::ONE_WAY) {
263263
return null;

src/Application/Routers/RouteList.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public function match(Nette\Http\IRequest $httpRequest): ?array
5454
/**
5555
* Constructs absolute URL from array.
5656
*/
57-
public function constructUrl(array $params, Nette\Http\Url $refUrl): ?string
57+
public function constructUrl(array $params, Nette\Http\UrlScript $refUrl): ?string
5858
{
5959
if ($this->cachedRoutes === null) {
6060
$this->warmupCache();

src/Application/Routers/SimpleRouter.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public function match(Nette\Http\IRequest $httpRequest): ?array
8181
/**
8282
* Constructs absolute URL from array.
8383
*/
84-
public function constructUrl(array $params, Nette\Http\Url $refUrl): ?string
84+
public function constructUrl(array $params, Nette\Http\UrlScript $refUrl): ?string
8585
{
8686
if ($this->flags & self::ONE_WAY) {
8787
return null;

src/Application/UI/Presenter.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ abstract class Presenter extends Control implements Application\IPresenter
129129
/** @var ITemplateFactory */
130130
private $templateFactory;
131131

132-
/** @var Nette\Http\Url */
132+
/** @var Nette\Http\UrlScript */
133133
private $refUrlCache;
134134

135135

@@ -911,8 +911,8 @@ public static function parseDestination(string $destination): array
911911
protected function requestToUrl(Application\Request $request, bool $relative = null): string
912912
{
913913
if ($this->refUrlCache === null) {
914-
$this->refUrlCache = new Http\Url($this->httpRequest->getUrl());
915-
$this->refUrlCache->setPath($this->httpRequest->getUrl()->getScriptPath());
914+
$url = $this->httpRequest->getUrl();
915+
$this->refUrlCache = new Http\UrlScript($url->getHostUrl() . $url->getScriptPath());
916916
}
917917
if (!$this->router) {
918918
throw new Nette\InvalidStateException('Unable to generate URL, service Router has not been set.');

tests/Application/Presenter.twoDomains.phpt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ class TestPresenter extends Application\UI\Presenter
2424

2525
function testLink($domain)
2626
{
27-
$url = new Http\UrlScript('http://' . $domain . '/index.php');
28-
$url->setScriptPath('/index.php');
27+
$url = new Http\UrlScript('http://' . $domain . '/index.php', '/index.php');
2928

3029
$presenter = new TestPresenter;
3130
$presenter->injectPrimary(

tests/Bridges.DI/RoutingExtension.cache.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class MyRouter implements Nette\Application\IRouter
2525
}
2626

2727

28-
public function constructUrl(array $params, Nette\Http\Url $refUrl): ?string
28+
public function constructUrl(array $params, Nette\Http\UrlScript $refUrl): ?string
2929
{
3030
}
3131

0 commit comments

Comments
 (0)