Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(114)

Side by Side Diff: net/spdy/spdy_http_utils.cc

Issue 266243004: Clang format slam. Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/spdy/spdy_http_utils.h" 5 #include "net/spdy/spdy_http_utils.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "base/strings/string_util.h" 10 #include "base/strings/string_util.h"
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 response->headers = new HttpResponseHeaders(raw_headers); 81 response->headers = new HttpResponseHeaders(raw_headers);
82 response->was_fetched_via_spdy = true; 82 response->was_fetched_via_spdy = true;
83 return true; 83 return true;
84 } 84 }
85 85
86 void CreateSpdyHeadersFromHttpRequest(const HttpRequestInfo& info, 86 void CreateSpdyHeadersFromHttpRequest(const HttpRequestInfo& info,
87 const HttpRequestHeaders& request_headers, 87 const HttpRequestHeaders& request_headers,
88 SpdyHeaderBlock* headers, 88 SpdyHeaderBlock* headers,
89 SpdyMajorVersion protocol_version, 89 SpdyMajorVersion protocol_version,
90 bool direct) { 90 bool direct) {
91
92 HttpRequestHeaders::Iterator it(request_headers); 91 HttpRequestHeaders::Iterator it(request_headers);
93 while (it.GetNext()) { 92 while (it.GetNext()) {
94 std::string name = StringToLowerASCII(it.name()); 93 std::string name = StringToLowerASCII(it.name());
95 if (name == "connection" || name == "proxy-connection" || 94 if (name == "connection" || name == "proxy-connection" ||
96 name == "transfer-encoding" || name == "host") { 95 name == "transfer-encoding" || name == "host") {
97 continue; 96 continue;
98 } 97 }
99 if (headers->find(name) == headers->end()) { 98 if (headers->find(name) == headers->end()) {
100 (*headers)[name] = it.value(); 99 (*headers)[name] = it.value();
101 } else { 100 } else {
(...skipping 20 matching lines...) Expand all
122 (*headers)[":host"] = GetHostAndOptionalPort(info.url); 121 (*headers)[":host"] = GetHostAndOptionalPort(info.url);
123 } else { 122 } else {
124 (*headers)[":authority"] = GetHostAndOptionalPort(info.url); 123 (*headers)[":authority"] = GetHostAndOptionalPort(info.url);
125 } 124 }
126 (*headers)[":method"] = info.method; 125 (*headers)[":method"] = info.method;
127 (*headers)[":scheme"] = info.url.scheme(); 126 (*headers)[":scheme"] = info.url.scheme();
128 (*headers)[":path"] = HttpUtil::PathForRequest(info.url); 127 (*headers)[":path"] = HttpUtil::PathForRequest(info.url);
129 } 128 }
130 } 129 }
131 130
132 COMPILE_ASSERT(HIGHEST - LOWEST < 4 && 131 COMPILE_ASSERT(HIGHEST - LOWEST < 4 && HIGHEST - MINIMUM_PRIORITY < 5,
133 HIGHEST - MINIMUM_PRIORITY < 5,
134 request_priority_incompatible_with_spdy); 132 request_priority_incompatible_with_spdy);
135 133
136 SpdyPriority ConvertRequestPriorityToSpdyPriority( 134 SpdyPriority ConvertRequestPriorityToSpdyPriority(
137 const RequestPriority priority, 135 const RequestPriority priority,
138 SpdyMajorVersion protocol_version) { 136 SpdyMajorVersion protocol_version) {
139 DCHECK_GE(priority, MINIMUM_PRIORITY); 137 DCHECK_GE(priority, MINIMUM_PRIORITY);
140 DCHECK_LE(priority, MAXIMUM_PRIORITY); 138 DCHECK_LE(priority, MAXIMUM_PRIORITY);
141 if (protocol_version == SPDY2) { 139 if (protocol_version == SPDY2) {
142 // SPDY 2 only has 2 bits of priority, but we have 5 RequestPriorities. 140 // SPDY 2 only has 2 bits of priority, but we have 5 RequestPriorities.
143 // Map IDLE => 3, LOWEST => 2, LOW => 2, MEDIUM => 1, HIGHEST => 0. 141 // Map IDLE => 3, LOWEST => 2, LOW => 2, MEDIUM => 1, HIGHEST => 0.
144 if (priority > LOWEST) { 142 if (priority > LOWEST) {
145 return static_cast<SpdyPriority>(HIGHEST - priority); 143 return static_cast<SpdyPriority>(HIGHEST - priority);
146 } else { 144 } else {
147 return static_cast<SpdyPriority>(HIGHEST - priority - 1); 145 return static_cast<SpdyPriority>(HIGHEST - priority - 1);
148 } 146 }
149 } else { 147 } else {
150 return static_cast<SpdyPriority>(HIGHEST - priority); 148 return static_cast<SpdyPriority>(HIGHEST - priority);
151 } 149 }
152 } 150 }
153 151
154 NET_EXPORT_PRIVATE RequestPriority ConvertSpdyPriorityToRequestPriority( 152 NET_EXPORT_PRIVATE RequestPriority
155 SpdyPriority priority, 153 ConvertSpdyPriorityToRequestPriority(SpdyPriority priority,
156 SpdyMajorVersion protocol_version) { 154 SpdyMajorVersion protocol_version) {
157 // Handle invalid values gracefully, and pick LOW to map 2 back 155 // Handle invalid values gracefully, and pick LOW to map 2 back
158 // to for SPDY/2. 156 // to for SPDY/2.
159 SpdyPriority idle_cutoff = (protocol_version == SPDY2) ? 3 : 5; 157 SpdyPriority idle_cutoff = (protocol_version == SPDY2) ? 3 : 5;
160 return (priority >= idle_cutoff) ? 158 return (priority >= idle_cutoff)
161 IDLE : static_cast<RequestPriority>(HIGHEST - priority); 159 ? IDLE
160 : static_cast<RequestPriority>(HIGHEST - priority);
162 } 161 }
163 162
164 GURL GetUrlFromHeaderBlock(const SpdyHeaderBlock& headers, 163 GURL GetUrlFromHeaderBlock(const SpdyHeaderBlock& headers,
165 SpdyMajorVersion protocol_version, 164 SpdyMajorVersion protocol_version,
166 bool pushed) { 165 bool pushed) {
167 // SPDY 2 server push urls are specified in a single "url" header. 166 // SPDY 2 server push urls are specified in a single "url" header.
168 if (pushed && protocol_version == SPDY2) { 167 if (pushed && protocol_version == SPDY2) {
169 std::string url; 168 std::string url;
170 SpdyHeaderBlock::const_iterator it; 169 SpdyHeaderBlock::const_iterator it;
171 it = headers.find("url"); 170 it = headers.find("url");
172 if (it != headers.end()) 171 if (it != headers.end())
173 url = it->second; 172 url = it->second;
174 return GURL(url); 173 return GURL(url);
175 } 174 }
176 175
177 const char* scheme_header = protocol_version >= SPDY3 ? ":scheme" : "scheme"; 176 const char* scheme_header = protocol_version >= SPDY3 ? ":scheme" : "scheme";
178 const char* host_header = protocol_version >= SPDY4 ? ":authority" : 177 const char* host_header =
179 (protocol_version >= SPDY3 ? ":host" : "host"); 178 protocol_version >= SPDY4
179 ? ":authority"
180 : (protocol_version >= SPDY3 ? ":host" : "host");
180 const char* path_header = protocol_version >= SPDY3 ? ":path" : "url"; 181 const char* path_header = protocol_version >= SPDY3 ? ":path" : "url";
181 182
182 std::string scheme; 183 std::string scheme;
183 std::string host_port; 184 std::string host_port;
184 std::string path; 185 std::string path;
185 SpdyHeaderBlock::const_iterator it; 186 SpdyHeaderBlock::const_iterator it;
186 it = headers.find(scheme_header); 187 it = headers.find(scheme_header);
187 if (it != headers.end()) 188 if (it != headers.end())
188 scheme = it->second; 189 scheme = it->second;
189 it = headers.find(host_header); 190 it = headers.find(host_header);
190 if (it != headers.end()) 191 if (it != headers.end())
191 host_port = it->second; 192 host_port = it->second;
192 it = headers.find(path_header); 193 it = headers.find(path_header);
193 if (it != headers.end()) 194 if (it != headers.end())
194 path = it->second; 195 path = it->second;
195 196
196 std::string url = (scheme.empty() || host_port.empty() || path.empty()) 197 std::string url = (scheme.empty() || host_port.empty() || path.empty())
197 ? std::string() 198 ? std::string()
198 : scheme + "://" + host_port + path; 199 : scheme + "://" + host_port + path;
199 return GURL(url); 200 return GURL(url);
200 } 201 }
201 202
202 } // namespace net 203 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698