From 27230f39a66aa80a1b48aa0fff926331629bdd3d Mon Sep 17 00:00:00 2001 From: ppodds Date: Mon, 13 Dec 2021 23:56:14 +0800 Subject: [PATCH] refactor getTrustedHeaderNames with match function --- .../Http/Middleware/TrustProxies.php | 44 +++++-------------- 1 file changed, 10 insertions(+), 34 deletions(-) diff --git a/src/Illuminate/Http/Middleware/TrustProxies.php b/src/Illuminate/Http/Middleware/TrustProxies.php index 1159e5072307..5086bd829797 100644 --- a/src/Illuminate/Http/Middleware/TrustProxies.php +++ b/src/Illuminate/Http/Middleware/TrustProxies.php @@ -92,40 +92,16 @@ protected function setTrustedProxyIpAddressesToTheCallingIp(Request $request) */ protected function getTrustedHeaderNames() { - switch ($this->headers) { - case 'HEADER_X_FORWARDED_AWS_ELB': - case Request::HEADER_X_FORWARDED_AWS_ELB: - return Request::HEADER_X_FORWARDED_AWS_ELB; - - case 'HEADER_FORWARDED': - case Request::HEADER_FORWARDED: - return Request::HEADER_FORWARDED; - - case 'HEADER_X_FORWARDED_FOR': - case Request::HEADER_X_FORWARDED_FOR: - return Request::HEADER_X_FORWARDED_FOR; - - case 'HEADER_X_FORWARDED_HOST': - case Request::HEADER_X_FORWARDED_HOST: - return Request::HEADER_X_FORWARDED_HOST; - - case 'HEADER_X_FORWARDED_PORT': - case Request::HEADER_X_FORWARDED_PORT: - return Request::HEADER_X_FORWARDED_PORT; - - case 'HEADER_X_FORWARDED_PROTO': - case Request::HEADER_X_FORWARDED_PROTO: - return Request::HEADER_X_FORWARDED_PROTO; - - case 'HEADER_X_FORWARDED_PREFIX': - case Request::HEADER_X_FORWARDED_PREFIX: - return Request::HEADER_X_FORWARDED_PREFIX; - - default: - return Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_HOST | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO | Request::HEADER_X_FORWARDED_PREFIX | Request::HEADER_X_FORWARDED_AWS_ELB; - } - - return $this->headers; + return match ($this->headers) { + 'HEADER_X_FORWARDED_AWS_ELB', Request::HEADER_X_FORWARDED_AWS_ELB => Request::HEADER_X_FORWARDED_AWS_ELB, + 'HEADER_FORWARDED', Request::HEADER_FORWARDED => Request::HEADER_FORWARDED, + 'HEADER_X_FORWARDED_FOR', Request::HEADER_X_FORWARDED_FOR => Request::HEADER_X_FORWARDED_FOR, + 'HEADER_X_FORWARDED_HOST', Request::HEADER_X_FORWARDED_HOST => Request::HEADER_X_FORWARDED_HOST, + 'HEADER_X_FORWARDED_PORT', Request::HEADER_X_FORWARDED_PORT => Request::HEADER_X_FORWARDED_PORT, + 'HEADER_X_FORWARDED_PROTO', Request::HEADER_X_FORWARDED_PROTO => Request::HEADER_X_FORWARDED_PROTO, + 'HEADER_X_FORWARDED_PREFIX', Request::HEADER_X_FORWARDED_PREFIX => Request::HEADER_X_FORWARDED_PREFIX, + default => Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_HOST | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO | Request::HEADER_X_FORWARDED_PREFIX | Request::HEADER_X_FORWARDED_AWS_ELB, + }; } /**