@@ -16,6 +16,7 @@ namespace Titanium.Web.Proxy.Http
16
16
/// </summary>
17
17
public class HttpWebClient
18
18
{
19
+ private const string CRLF = "\r \n " ;
19
20
20
21
internal HttpWebClient ( Request request = null , Response response = null )
21
22
{
@@ -103,26 +104,29 @@ await writer.WriteLineAsync(Request.CreateRequestLine(Request.Method,
103
104
Request . HttpVersion ) , cancellationToken ) ;
104
105
105
106
var headerBuilder = new StringBuilder ( ) ;
107
+
106
108
// Send Authentication to Upstream proxy if needed
107
109
if ( ! isTransparent && upstreamProxy != null
108
110
&& ServerConnection . IsHttps == false
109
111
&& ! string . IsNullOrEmpty ( upstreamProxy . UserName )
110
112
&& upstreamProxy . Password != null )
111
113
{
112
- headerBuilder . AppendLine ( HttpHeader . ProxyConnectionKeepAlive . ToString ( ) ) ;
113
- headerBuilder . AppendLine ( HttpHeader . GetProxyAuthorizationHeader ( upstreamProxy . UserName , upstreamProxy . Password ) . ToString ( ) ) ;
114
+ headerBuilder . AppendFormat ( "{0}{1}" , HttpHeader . ProxyConnectionKeepAlive , CRLF ) ;
115
+ headerBuilder . AppendFormat ( "{0}{1}" ,
116
+ HttpHeader . GetProxyAuthorizationHeader ( upstreamProxy . UserName , upstreamProxy . Password ) ) ;
114
117
}
115
118
116
119
// write request headers
117
120
foreach ( var header in Request . Headers )
118
121
{
119
122
if ( isTransparent || header . Name != KnownHeaders . ProxyAuthorization )
120
123
{
121
- headerBuilder . AppendLine ( header . ToString ( ) ) ;
124
+ headerBuilder . AppendFormat ( "{0}{1}" , header , CRLF ) ;
122
125
}
123
126
}
124
127
125
- headerBuilder . AppendLine ( ) ;
128
+ headerBuilder . Append ( CRLF ) ;
129
+
126
130
await writer . WriteAsync ( headerBuilder . ToString ( ) , cancellationToken ) ;
127
131
128
132
if ( enable100ContinueBehaviour )
0 commit comments