diff options
author | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-15 18:42:19 +0000 |
---|---|---|
committer | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-15 18:42:19 +0000 |
commit | 0e861e9b635f9e46b983d3dcb8ac57459f89adb2 (patch) | |
tree | 54289390d73876ac02572a69028395a2404d3792 /net/spdy/spdy_proxy_client_socket.cc | |
parent | 744c2a2d90c3c9a33c818e1ea4b7ccb5010663a0 (diff) | |
download | chromium_src-0e861e9b635f9e46b983d3dcb8ac57459f89adb2.zip chromium_src-0e861e9b635f9e46b983d3dcb8ac57459f89adb2.tar.gz chromium_src-0e861e9b635f9e46b983d3dcb8ac57459f89adb2.tar.bz2 |
Send correct request headers when using spdy 3.
Require the spdy protocol version to be passed to CreateSpdyHeadersFromHttpRequest so that the correct headers will be generated.
Add GetProtocolVersion methods to SpdyStream and SpdySession.
Review URL: http://codereview.chromium.org/9705046
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126950 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/spdy/spdy_proxy_client_socket.cc')
-rw-r--r-- | net/spdy/spdy_proxy_client_socket.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/net/spdy/spdy_proxy_client_socket.cc b/net/spdy/spdy_proxy_client_socket.cc index 7a7a03a..0575bb0 100644 --- a/net/spdy/spdy_proxy_client_socket.cc +++ b/net/spdy/spdy_proxy_client_socket.cc @@ -372,10 +372,15 @@ int SpdyProxyClientSocket::DoSendRequest() { request_.extra_headers.MergeFrom(request_headers); linked_ptr<spdy::SpdyHeaderBlock> headers(new spdy::SpdyHeaderBlock()); CreateSpdyHeadersFromHttpRequest(request_, request_headers, headers.get(), - true); + spdy_stream_->GetProtocolVersion(), true); // Reset the URL to be the endpoint of the connection - (*headers)["url"] = endpoint_.ToString(); - headers->erase("scheme"); + if (spdy_stream_->GetProtocolVersion() > 2) { + (*headers)[":path"] = endpoint_.ToString(); + headers->erase(":scheme"); + } else { + (*headers)["url"] = endpoint_.ToString(); + headers->erase("scheme"); + } spdy_stream_->set_spdy_headers(headers); return spdy_stream_->SendRequest(true); |