| // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "net/http/http_net_log_params.h" |
| |
| #include "base/stringprintf.h" |
| #include "base/values.h" |
| #include "net/http/http_response_headers.h" |
| |
| namespace net { |
| |
| NetLogHttpRequestParameter::NetLogHttpRequestParameter( |
| const std::string& line, |
| const HttpRequestHeaders& headers) |
| : line_(line) { |
| headers_.CopyFrom(headers); |
| } |
| |
| Value* NetLogHttpRequestParameter::ToValue() const { |
| DictionaryValue* dict = new DictionaryValue(); |
| dict->SetString("line", line_); |
| ListValue* headers = new ListValue(); |
| HttpRequestHeaders::Iterator iterator(headers_); |
| while (iterator.GetNext()) { |
| headers->Append( |
| new StringValue(base::StringPrintf("%s: %s", |
| iterator.name().c_str(), |
| iterator.value().c_str()))); |
| } |
| dict->Set("headers", headers); |
| return dict; |
| } |
| |
| NetLogHttpRequestParameter::~NetLogHttpRequestParameter() {} |
| |
| NetLogHttpResponseParameter::NetLogHttpResponseParameter( |
| const scoped_refptr<HttpResponseHeaders>& headers) |
| : headers_(headers) {} |
| |
| Value* NetLogHttpResponseParameter::ToValue() const { |
| DictionaryValue* dict = new DictionaryValue(); |
| ListValue* headers = new ListValue(); |
| headers->Append(new StringValue(headers_->GetStatusLine())); |
| void* iterator = NULL; |
| std::string name; |
| std::string value; |
| while (headers_->EnumerateHeaderLines(&iterator, &name, &value)) { |
| headers->Append( |
| new StringValue(base::StringPrintf("%s: %s", name.c_str(), |
| value.c_str()))); |
| } |
| dict->Set("headers", headers); |
| return dict; |
| } |
| |
| NetLogHttpResponseParameter::~NetLogHttpResponseParameter() {} |
| |
| } // namespace net |