Chromium Code Reviews| Index: net/websockets/websocket_extension.cc |
| diff --git a/net/websockets/websocket_extension.cc b/net/websockets/websocket_extension.cc |
| index bf7a54bdbf3e17b79f4da23476525ea19d11a39e..3d2f98886741d10bddcc28a4c01256b335f8c57d 100644 |
| --- a/net/websockets/websocket_extension.cc |
| +++ b/net/websockets/websocket_extension.cc |
| @@ -45,4 +45,34 @@ bool WebSocketExtension::Equals(const WebSocketExtension& other) const { |
| return this_parameters == other_parameters; |
| } |
| +std::string WebSocketExtension::ToString() const { |
| + if (name_.empty()) { |
| + return std::string(); |
| + } |
| + |
| + std::string result = name_; |
| + |
| + for (const auto& param : parameters_) { |
| + result += "; " + param.name(); |
| + if (param.HasValue()) { |
|
tyoshino (SeeGerritForStatus)
2015/09/11 12:18:40
if (!param.HasValue())
continue;
yhirano
2015/09/15 06:25:57
Done.
|
| + result += "="; |
| + const auto& value = param.value(); |
| + if (value.find('"') == std::string::npos) { |
| + result += value; |
| + } else { |
| + result += '"'; |
| + for (const auto& c : value) { |
| + if (c == '"') { |
| + result += "\\\""; |
| + } else { |
| + result += c; |
| + } |
| + } |
| + result += '"'; |
| + } |
| + } |
| + } |
| + return result; |
| +} |
| + |
| } // namespace net |