| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2010 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 #include "chrome/browser/debugger/devtools_remote_message.h" | |
| 6 | |
| 7 #include "base/string_number_conversions.h" | |
| 8 | |
| 9 const char DevToolsRemoteMessageHeaders::kContentLength[] = "Content-Length"; | |
| 10 const char DevToolsRemoteMessageHeaders::kTool[] = "Tool"; | |
| 11 const char DevToolsRemoteMessageHeaders::kDestination[] = "Destination"; | |
| 12 | |
| 13 const char DevToolsRemoteMessage::kEmptyValue[] = ""; | |
| 14 | |
| 15 DevToolsRemoteMessageBuilder& DevToolsRemoteMessageBuilder::instance() { | |
| 16 static DevToolsRemoteMessageBuilder instance_; | |
| 17 return instance_; | |
| 18 } | |
| 19 | |
| 20 DevToolsRemoteMessage::DevToolsRemoteMessage() {} | |
| 21 | |
| 22 DevToolsRemoteMessage::DevToolsRemoteMessage(const HeaderMap& headers, | |
| 23 const std::string& content) | |
| 24 : header_map_(headers), | |
| 25 content_(content) { | |
| 26 } | |
| 27 | |
| 28 DevToolsRemoteMessage::~DevToolsRemoteMessage() {} | |
| 29 | |
| 30 const std::string DevToolsRemoteMessage::GetHeader( | |
| 31 const std::string& header_name, | |
| 32 const std::string& default_value) const { | |
| 33 HeaderMap::const_iterator it = header_map_.find(header_name); | |
| 34 if (it == header_map_.end()) { | |
| 35 return default_value; | |
| 36 } | |
| 37 return it->second; | |
| 38 } | |
| 39 | |
| 40 const std::string DevToolsRemoteMessage::GetHeaderWithEmptyDefault( | |
| 41 const std::string& header_name) const { | |
| 42 return GetHeader(header_name, DevToolsRemoteMessage::kEmptyValue); | |
| 43 } | |
| 44 | |
| 45 const std::string DevToolsRemoteMessage::ToString() const { | |
| 46 std::string result; | |
| 47 for (HeaderMap::const_iterator it = header_map_.begin(), | |
| 48 end = header_map_.end(); it != end; ++it) { | |
| 49 result.append(it->first).append(":").append(it->second).append("\r\n"); | |
| 50 } | |
| 51 result.append("\r\n").append(content_); | |
| 52 return result; | |
| 53 } | |
| 54 | |
| 55 DevToolsRemoteMessage* DevToolsRemoteMessageBuilder::Create( | |
| 56 const std::string& tool, | |
| 57 const std::string& destination, | |
| 58 const std::string& content) { | |
| 59 DevToolsRemoteMessage::HeaderMap headers; | |
| 60 headers[DevToolsRemoteMessageHeaders::kContentLength] = | |
| 61 base::IntToString(content.size()); | |
| 62 headers[DevToolsRemoteMessageHeaders::kTool] = tool; | |
| 63 headers[DevToolsRemoteMessageHeaders::kDestination] = destination; | |
| 64 return new DevToolsRemoteMessage(headers, content); | |
| 65 } | |
| OLD | NEW |