浏览代码

In http request, suppress port number in http request header if
port
is 80 or 443:
* src/HttpRequest.cc (getHostText): Suppress port number in http
request header if port is 80 or 443.
(createProxyRequest): Allways send port number.

Tatsuhiro Tsujikawa 18 年之前
父节点
当前提交
4016aa3948
共有 2 个文件被更改,包括 10 次插入4 次删除
  1. 7 1
      ChangeLog
  2. 3 3
      src/HttpRequest.cc

+ 7 - 1
ChangeLog

@@ -15,7 +15,13 @@
 	* src/DNSCache.h: New class.
 	* src/UrlRequestInfo.cc
 	(execute): Use dns cache.
-	
+
+	In http request, suppress port number in http request header if port
+	is 80 or 443:
+	* src/HttpRequest.cc (getHostText): Suppress port number in http
+	request header if port is 80 or 443.
+	(createProxyRequest): Allways send port number.
+
 2007-03-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
 
 	To add the command-line option which disables netrc support:

+ 3 - 3
src/HttpRequest.cc

@@ -65,7 +65,7 @@ bool HttpRequest::isRangeSatisfied(const RangeHandle& range) const
 
 string HttpRequest::getHostText(const string& host, in_port_t port) const
 {
-  return host+":"+Util::itos(port);
+  return  host+(port == 80 || port == 443 ? "" : ":"+Util::llitos(port));
 }
 
 string HttpRequest::createRequest() const
@@ -131,11 +131,11 @@ string HttpRequest::createRequest() const
 string HttpRequest::createProxyRequest() const
 {
   string requestLine =
-    string("CONNECT ")+getHost()+":"+Util::llitos(getPort())+
+    string("CONNECT ")+getHost()+":"+Util::itos(getPort())+
     string(" HTTP/1.1\r\n")+
     "User-Agent: "+Util::urlencode(userAgent)+"\r\n"+
     "Proxy-Connection: close\r\n"+
-    "Host: "+getHostText(getHost(), getPort())+"\r\n";
+    "Host: "+getHost()+":"+Util::itos(getPort())+"\r\n";
   if(proxyAuthEnabled) {
     requestLine += getProxyAuthString();
   }