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. 4 5 #ifndef NET_SPDY_SPDY_HEADER_BLOCK_H_ 6 #define NET_SPDY_SPDY_HEADER_BLOCK_H_ 7 8 #include <map> 9 #include <string> 10 11 #include "net/base/net_export.h" 12 #include "net/base/net_log.h" 13 14 namespace net { 15 16 // A data structure for holding a set of headers from either a 17 // SYN_STREAM or SYN_REPLY frame. 18 typedef std::map<std::string, std::string> SpdyHeaderBlock; 19 20 // Converts a SpdyHeaderBlock into NetLog event parameters. Caller takes 21 // ownership of returned value. 22 NET_EXPORT base::Value* SpdyHeaderBlockNetLogCallback( 23 const SpdyHeaderBlock* headers, 24 NetLog::LogLevel log_level); 25 26 // Converts NetLog event parameters into a SPDY header block and writes them 27 // to |headers|. |event_param| must have been created by 28 // SpdyHeaderBlockNetLogCallback. On failure, returns false and clears 29 // |headers|. 30 NET_EXPORT bool SpdyHeaderBlockFromNetLogParam( 31 const base::Value* event_param, 32 SpdyHeaderBlock* headers); 33 34 } // namespace net 35 36 #endif // NET_SPDY_SPDY_HEADER_BLOCK_H_ 37