'on', ])); } public function testIsHttpsReturnsTrueWhenTrustedProxyForwardsHttps(): void { self::assertTrue(RequestContext::isHttps([ 'REMOTE_ADDR' => '127.0.0.1', 'HTTP_X_FORWARDED_PROTO' => 'https, http', ], ['127.0.0.1'])); } public function testIsHttpsIgnoresForwardedProtoWhenProxyIsNotTrusted(): void { self::assertFalse(RequestContext::isHttps([ 'REMOTE_ADDR' => '10.0.0.5', 'HTTP_X_FORWARDED_PROTO' => 'https', ], ['127.0.0.1'])); } public function testTrustedProxiesFromEnvironmentTrimsValues(): void { self::assertSame(['127.0.0.1', '::1'], RequestContext::trustedProxiesFromEnvironment([ 'TRUSTED_PROXIES' => ' 127.0.0.1 , ::1 ', ])); } public function testTrustedProxiesFromEnvironmentFallsBackToProcessEnvWhenDotenvValueIsBlank(): void { putenv('TRUSTED_PROXIES=*'); try { self::assertSame(['*'], RequestContext::trustedProxiesFromEnvironment([ 'TRUSTED_PROXIES' => '', ])); } finally { putenv('TRUSTED_PROXIES'); } } }