Fixed issue with LV 5.6 upgrade
get current route uri was broken for global middlewares, thus CORS middleware got broken Change-Id: Iaf7a244e67afd8b0f007364f18e5de1ba5af64f1
This commit is contained in:
parent
609ec9c7ce
commit
2d3d20152a
@ -1,20 +1,18 @@
|
||||
<?php namespace libs\utils;
|
||||
/**
|
||||
* Copyright 2015 OpenStack Foundation
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
**/
|
||||
|
||||
* Copyright 2015 OpenStack Foundation
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
**/
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
/**
|
||||
* Class RequestUtils
|
||||
* @package libs\utils
|
||||
@ -22,23 +20,26 @@ use Illuminate\Support\Facades\Log;
|
||||
final class RequestUtils {
|
||||
|
||||
/**
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return bool|string
|
||||
*/
|
||||
public static function getCurrentRoutePath()
|
||||
{
|
||||
try
|
||||
{
|
||||
$route_path = Route::getCurrentRoute()->uri();
|
||||
public static function getCurrentRoutePath($request)
|
||||
{
|
||||
try
|
||||
{
|
||||
$route = Route::getRoutes()->match($request);
|
||||
if(is_null($route)) return false;
|
||||
$route_path = $route->uri();
|
||||
if (strpos($route_path, '/') != 0)
|
||||
$route_path = '/' . $route_path;
|
||||
|
||||
return $route_path;
|
||||
}
|
||||
catch (\Exception $ex)
|
||||
{
|
||||
Log::error($ex);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
catch (\Exception $ex)
|
||||
{
|
||||
Log::error($ex);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
@ -157,7 +157,7 @@ class CORSMiddleware
|
||||
$real_method = $request->headers->get('Access-Control-Request-Method');
|
||||
$request->setMethod($real_method);
|
||||
|
||||
$route_path = RequestUtils::getCurrentRoutePath();
|
||||
$route_path = RequestUtils::getCurrentRoutePath($request);
|
||||
if (!$route_path || !$this->checkEndPoint($route_path, $real_method))
|
||||
{
|
||||
$response = new Response();
|
||||
|
@ -86,7 +86,7 @@ class OAuth2BearerAccessTokenRequestValidator
|
||||
|
||||
try {
|
||||
|
||||
$route = RequestUtils::getCurrentRoutePath();
|
||||
$route = RequestUtils::getCurrentRoutePath($request);
|
||||
if (!$route) {
|
||||
throw new OAuth2ResourceServerException(
|
||||
400,
|
||||
|
@ -62,7 +62,7 @@ final class RateLimitMiddleware extends ThrottleRequests
|
||||
*/
|
||||
public function handle($request, Closure $next, $max_attempts = 0, $decay_minutes = 0)
|
||||
{
|
||||
$route = RequestUtils::getCurrentRoutePath();
|
||||
$route = RequestUtils::getCurrentRoutePath($request);
|
||||
$method = $request->getMethod();
|
||||
$endpoint = $this->endpoint_repository->getApiEndpointByUrlAndMethod($route, $method);
|
||||
$key = $this->resolveRequestSignature($request);
|
||||
|
Loading…
x
Reference in New Issue
Block a user