File tree 2 files changed +20
-0
lines changed
src/Symfony/Component/HttpFoundation 2 files changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -887,6 +887,14 @@ public function getPort()
887
887
}
888
888
}
889
889
890
+ if ($ host = $ this ->headers ->get ('HOST ' )) {
891
+ if (preg_match ('/:(\d+)$/ ' , $ host , $ matches )) {
892
+ return intval ($ matches [1 ]);
893
+ }
894
+
895
+ return 'https ' === $ this ->getScheme () ? 443 : 80 ;
896
+ }
897
+
890
898
return $ this ->server ->get ('SERVER_PORT ' );
891
899
}
892
900
Original file line number Diff line number Diff line change @@ -1540,6 +1540,18 @@ public function testTrustedHosts()
1540
1540
// trusted hosts
1541
1541
$ request ->headers ->set ('host ' , 'trusted.com ' );
1542
1542
$ this ->assertEquals ('trusted.com ' , $ request ->getHost ());
1543
+ $ this ->assertEquals (80 , $ request ->getPort ());
1544
+
1545
+ $ request ->server ->set ('HTTPS ' , true );
1546
+ $ request ->headers ->set ('host ' , 'trusted.com ' );
1547
+ $ this ->assertEquals ('trusted.com ' , $ request ->getHost ());
1548
+ $ this ->assertEquals (443 , $ request ->getPort ());
1549
+ $ request ->server ->set ('HTTPS ' , false );
1550
+
1551
+ $ request ->headers ->set ('host ' , 'trusted.com:8000 ' );
1552
+ $ this ->assertEquals ('trusted.com ' , $ request ->getHost ());
1553
+ $ this ->assertEquals (8000 , $ request ->getPort ());
1554
+
1543
1555
$ request ->headers ->set ('host ' , 'subdomain.trusted.com ' );
1544
1556
$ this ->assertEquals ('subdomain.trusted.com ' , $ request ->getHost ());
1545
1557
You can’t perform that action at this time.
0 commit comments