Compare commits

..

4 Commits

Author SHA1 Message Date
Simon Sessingø f7ce440c56 Merge pull request #295 from skipperbent/v3-development
Fixed: try next exception-handler if one throws error.
2017-10-07 17:53:17 +02:00
Simon Sessingø 41705f030a Fixed: try next exception-handler if one throws error. 2017-10-07 12:33:24 +01:00
Simon Sessingø 66ecf0ee33 Merge pull request #293 from skipperbent/v3-development
Readded csrf_token helper function - don't run away this time.
2017-09-25 08:51:02 +02:00
Simon Sessingø 4ba15033d9 Readded csrf_token helper function - don't run away this time. 2017-09-09 01:40:44 +01:00
3 changed files with 53 additions and 19 deletions
+20 -6
View File
@@ -249,7 +249,8 @@ We recommend that you add these helper functions to your project. These will all
To implement the functions below, simply copy the code to a new file and require the file before initializing the router or copy the `helpers.php` we've included in this library.
```php
<?php
use Pecee\SimpleRouter\SimpleRouter as Router;
/**
* Get url for a route by using either name/alias, class or method name.
*
@@ -269,7 +270,7 @@ To implement the functions below, simply copy the code to a new file and require
*/
function url($name = null, $parameters = null, $getParams = null)
{
return SimpleRouter::getUrl($name, $parameters, $getParams);
return Router::getUrl($name, $parameters, $getParams);
}
/**
@@ -277,7 +278,7 @@ function url($name = null, $parameters = null, $getParams = null)
*/
function response()
{
return SimpleRouter::response();
return Router::response();
}
/**
@@ -285,7 +286,7 @@ function response()
*/
function request()
{
return SimpleRouter::request();
return Router::request();
}
/**
@@ -297,8 +298,7 @@ function request()
*/
function input($index = null, $defaultValue = null, $methods = null)
{
if($index !== null)
{
if ($index !== null) {
return request()->getInput()->get($index, $defaultValue, $methods);
}
@@ -313,6 +313,20 @@ function redirect($url, $code = null)
response()->redirect($url);
}
/**
* Get current csrf-token
* @return string|null
*/
function csrf_token()
{
$baseVerifier = Router::router()->getCsrfVerifier();
if ($baseVerifier !== null) {
return $baseVerifier->getToken();
}
return null;
}
```
---
+14
View File
@@ -63,4 +63,18 @@ function redirect($url, $code = null)
}
response()->redirect($url);
}
/**
* Get current csrf-token
* @return string|null
*/
function csrf_token()
{
$baseVerifier = Router::router()->getCsrfVerifier();
if ($baseVerifier !== null) {
return $baseVerifier->getToken();
}
return null;
}
+19 -13
View File
@@ -329,25 +329,31 @@ class Router
throw new HttpException('Exception handler must implement the IExceptionHandler interface.', 500);
}
if ($handler->handleError($this->request, $e) !== null) {
try {
$rewriteRoute = $this->request->getRewriteRoute();
if ($handler->handleError($this->request, $e) !== null) {
if ($rewriteRoute !== null) {
$rewriteRoute->loadMiddleware($this->request);
$rewriteRoute = $this->request->getRewriteRoute();
return $rewriteRoute->renderRoute($this->request);
if ($rewriteRoute !== null) {
$rewriteRoute->loadMiddleware($this->request);
return $rewriteRoute->renderRoute($this->request);
}
$rewriteUrl = $this->request->getRewriteUrl();
/* If the request has changed */
if ($rewriteUrl !== null && $rewriteUrl !== $url) {
unset($this->exceptionHandlers[$i]);
$this->exceptionHandlers = array_values($this->exceptionHandlers);
return $this->routeRequest(true);
}
}
$rewriteUrl = $this->request->getRewriteUrl();
} catch (\Exception $e) {
/* If the request has changed */
if ($rewriteUrl !== null && $rewriteUrl !== $url) {
unset($this->exceptionHandlers[$i]);
$this->exceptionHandlers = array_values($this->exceptionHandlers);
return $this->routeRequest(true);
}
}
}