[Bugfix] getUrl creates malformed requests if no path is given
authorPhilipp Gampe <forge.typo3.org@philippgampe.info>
Sat, 12 Mar 2011 16:26:37 +0000 (17:26 +0100)
committerErnesto Baschny <ernst@cron-it.de>
Mon, 23 May 2011 20:33:41 +0000 (22:33 +0200)
If you fetch an url like example.org without a '/' at the end,
you will get a 400 Bad request of only fetching headers (2).
If you get all content+headers (1) you will get a 404.
getUrl should be tolerant and add the slash if it is missing.

Change-Id: I49a7bd993e51da0cdd42b15f0bf77150bed4d556
Resolves: #12225
Resolves: #13432
Resolves: #24483
Reviewed-on: http://review.typo3.org/1705
Reviewed-by: Ernesto Baschny
Tested-by: Ernesto Baschny
t3lib/class.t3lib_div.php

index 4c5a5dd..a55987a 100644 (file)
@@ -3037,7 +3037,7 @@ final class t3lib_div {
                                return FALSE;
                        }
                        $method = ($includeHeader == 2) ? 'HEAD' : 'GET';
-                       $msg = $method . ' ' . $parsedURL['path'] .
+                       $msg = $method . ' ' . (isset($parsedURL['path']) ? $parsedURL['path'] : '/') .
                                        ($parsedURL['query'] ? '?' . $parsedURL['query'] : '') .
                                        ' HTTP/1.0' . CRLF . 'Host: ' .
                                        $parsedURL['host'] . "\r\nConnection: close\r\n";