summaryrefslogtreecommitdiffstats
path: root/net/spdy/spdy_proxy_client_socket.cc
diff options
context:
space:
mode:
authorrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-15 18:42:19 +0000
committerrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-15 18:42:19 +0000
commit0e861e9b635f9e46b983d3dcb8ac57459f89adb2 (patch)
tree54289390d73876ac02572a69028395a2404d3792 /net/spdy/spdy_proxy_client_socket.cc
parent744c2a2d90c3c9a33c818e1ea4b7ccb5010663a0 (diff)
downloadchromium_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.cc11
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);