diff options
author | Michael Vogt <mvo@ubuntu.com> | 2013-07-02 16:53:45 +0200 |
---|---|---|
committer | Michael Vogt <mvo@ubuntu.com> | 2013-07-02 16:53:45 +0200 |
commit | 56363109dac51dffb6ec8491728e0bc934a15fa1 (patch) | |
tree | 90db7c6af4ea25028df6c2731a57b0724fc3c626 /methods/http.cc | |
parent | 3599bca5211077f5456a40adb5cec1bcbee8c3ae (diff) | |
parent | 4b8528bd5749f759e924534709a620da67cd40f8 (diff) |
merged debian/sid branch from git.debian.org
Diffstat (limited to 'methods/http.cc')
-rw-r--r-- | methods/http.cc | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/methods/http.cc b/methods/http.cc index fddf8a78e..db1085a2d 100644 --- a/methods/http.cc +++ b/methods/http.cc @@ -667,7 +667,12 @@ void HttpMethod::SendReq(FetchItem *Itm,CircleBuf &Out) // The HTTP server expects a hostname with a trailing :port char Buf[1000]; - string ProperHost = Uri.Host; + string ProperHost; + + if (Uri.Host.find(':') != string::npos) + ProperHost = '[' + Uri.Host + ']'; + else + ProperHost = Uri.Host; if (Uri.Port != 0) { sprintf(Buf,":%u",Uri.Port); @@ -975,12 +980,7 @@ HttpMethod::DealWithHeaders(FetchResult &Res,ServerState *Srv) { URI Uri = Queue->Uri; if (Uri.Host.empty() == false) - { - if (Uri.Port != 0) - strprintf(NextURI, "http://%s:%u", Uri.Host.c_str(), Uri.Port); - else - NextURI = "http://" + Uri.Host; - } + NextURI = URI::SiteOnly(Uri); else NextURI.clear(); NextURI.append(DeQuoteString(Srv->Location)); |