blob: 89d88f87ee5364336876ed57ca69c463d052057a [file] [log] [blame]
// Copyright 2016 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 "chrome/browser/media/router/route_message.h"
#include "base/base64.h"
#include "base/json/string_escape.h"
namespace media_router {
RouteMessage::RouteMessage() = default;
RouteMessage::RouteMessage(const RouteMessage& other) = default;
RouteMessage::~RouteMessage() = default;
std::string RouteMessage::ToHumanReadableString() const {
if (!text && !binary)
return "null";
DCHECK((type == TEXT && text) || (type == BINARY && binary));
std::string result;
if (text) {
result = "text=";
base::EscapeJSONString(*text, true, &result);
} else {
const base::StringPiece src(reinterpret_cast<const char*>(binary->data()),
binary->size());
base::Base64Encode(src, &result);
result = "binary=" + result;
}
return result;
}
} // namespace media_router