OLD | NEW |
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_header_block.h" | 5 #include "net/spdy/spdy_header_block.h" |
6 | 6 |
7 #include "base/values.h" | 7 #include "base/values.h" |
8 | 8 |
9 namespace net { | 9 namespace net { |
10 | 10 |
11 Value* SpdyHeaderBlockNetLogCallback( | 11 Value* SpdyHeaderBlockNetLogCallback( |
12 const SpdyHeaderBlock* headers, | 12 const SpdyHeaderBlock* headers, |
13 NetLog::LogLevel /* log_level */) { | 13 NetLog::LogLevel /* log_level */) { |
14 DictionaryValue* dict = new DictionaryValue(); | 14 DictionaryValue* dict = new DictionaryValue(); |
15 DictionaryValue* headers_dict = new DictionaryValue(); | 15 DictionaryValue* headers_dict = new DictionaryValue(); |
16 for (SpdyHeaderBlock::const_iterator it = headers->begin(); | 16 for (SpdyHeaderBlock::const_iterator it = headers->begin(); |
17 it != headers->end(); ++it) { | 17 it != headers->end(); ++it) { |
18 headers_dict->SetWithoutPathExpansion( | 18 headers_dict->SetWithoutPathExpansion( |
19 it->first, new StringValue(it->second)); | 19 it->first, new StringValue(it->second)); |
20 } | 20 } |
21 dict->Set("headers", headers_dict); | 21 dict->Set("headers", headers_dict); |
22 return dict; | 22 return dict; |
23 } | 23 } |
24 | 24 |
25 bool SpdyHeaderBlockFromNetLogParam( | 25 bool SpdyHeaderBlockFromNetLogParam( |
26 const base::Value* event_param, | 26 const base::Value* event_param, |
27 SpdyHeaderBlock* headers) { | 27 SpdyHeaderBlock* headers) { |
28 headers->clear(); | 28 headers->clear(); |
29 | 29 |
30 const base::DictionaryValue* dict; | 30 const base::DictionaryValue* dict = NULL; |
31 const base::DictionaryValue* header_dict; | 31 const base::DictionaryValue* header_dict = NULL; |
32 | 32 |
33 if (!event_param || | 33 if (!event_param || |
34 !event_param->GetAsDictionary(&dict) || | 34 !event_param->GetAsDictionary(&dict) || |
35 !dict->GetDictionary("headers", &header_dict)) { | 35 !dict->GetDictionary("headers", &header_dict)) { |
36 return false; | 36 return false; |
37 } | 37 } |
38 | 38 |
39 for (base::DictionaryValue::key_iterator it = header_dict->begin_keys(); | 39 for (base::DictionaryValue::key_iterator it = header_dict->begin_keys(); |
40 it != header_dict->end_keys(); | 40 it != header_dict->end_keys(); |
41 ++it) { | 41 ++it) { |
42 std::string value; | 42 std::string value; |
43 if (!header_dict->GetString(*it, &(*headers)[*it])) { | 43 if (!header_dict->GetString(*it, &(*headers)[*it])) { |
44 headers->clear(); | 44 headers->clear(); |
45 return false; | 45 return false; |
46 } | 46 } |
47 } | 47 } |
48 return true; | 48 return true; |
49 } | 49 } |
50 | 50 |
51 } // namespace net | 51 } // namespace net |
OLD | NEW |