Revert "Merged all Chromoting Host code into remoting_core.dll (Windows)."
[chromium-blink-merge.git] / net / spdy / spdy_http_utils.h
blob27b03ed96c7eec45673450de8bc6d8707bea01ef
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
3 // found in the LICENSE file.
5 #ifndef NET_SPDY_SPDY_HTTP_UTILS_H_
6 #define NET_SPDY_SPDY_HTTP_UTILS_H_
8 #include "googleurl/src/gurl.h"
9 #include "net/base/net_export.h"
10 #include "net/base/request_priority.h"
11 #include "net/spdy/spdy_framer.h"
12 #include "net/spdy/spdy_header_block.h"
14 namespace net {
16 class HttpResponseInfo;
17 struct HttpRequestInfo;
18 class HttpRequestHeaders;
20 // Convert a SpdyHeaderBlock into an HttpResponseInfo.
21 // |headers| input parameter with the SpdyHeaderBlock.
22 // |response| output parameter for the HttpResponseInfo.
23 // Returns true if successfully converted. False if the SpdyHeaderBlock is
24 // incomplete (e.g. missing 'status' or 'version').
25 bool SpdyHeadersToHttpResponse(const SpdyHeaderBlock& headers,
26 int protocol_version,
27 HttpResponseInfo* response);
29 // Create a SpdyHeaderBlock for a Spdy SYN_STREAM Frame from
30 // HttpRequestInfo and HttpRequestHeaders.
31 void NET_EXPORT_PRIVATE CreateSpdyHeadersFromHttpRequest(
32 const HttpRequestInfo& info,
33 const HttpRequestHeaders& request_headers,
34 SpdyHeaderBlock* headers,
35 int protocol_version,
36 bool direct);
38 // Returns the URL associated with the |headers| by assembling the
39 // scheme, host and path from the protocol specific keys.
40 GURL GetUrlFromHeaderBlock(const SpdyHeaderBlock& headers,
41 int protocol_version,
42 bool pushed);
44 NET_EXPORT_PRIVATE SpdyPriority ConvertRequestPriorityToSpdyPriority(
45 RequestPriority priority,
46 int protocol_version);
48 } // namespace net
50 #endif // NET_SPDY_SPDY_HTTP_UTILS_H_