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 14namespace net { 15 16// A data structure for holding a set of headers from either a 17// SYN_STREAM or SYN_REPLY frame. 18typedef std::map<std::string, std::string> SpdyHeaderBlock; 19 20// Converts a SpdyHeaderBlock into NetLog event parameters. Caller takes 21// ownership of returned value. 22NET_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|. 30NET_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