mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 06:16:30 +03:00
81 lines
2.5 KiB
C++
81 lines
2.5 KiB
C++
// Copyright (c) 2012 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/socket/socket_net_log_params.h"
|
|
|
|
#include <utility>
|
|
|
|
#include "base/bind.h"
|
|
#include "base/values.h"
|
|
#include "net/base/host_port_pair.h"
|
|
#include "net/base/ip_endpoint.h"
|
|
#include "net/log/net_log_capture_mode.h"
|
|
|
|
namespace net {
|
|
|
|
namespace {
|
|
|
|
std::unique_ptr<base::Value> NetLogSocketErrorCallback(
|
|
int net_error,
|
|
int os_error,
|
|
NetLogCaptureMode /* capture_mode */) {
|
|
std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue());
|
|
dict->SetInteger("net_error", net_error);
|
|
dict->SetInteger("os_error", os_error);
|
|
return std::move(dict);
|
|
}
|
|
|
|
std::unique_ptr<base::Value> NetLogHostPortPairCallback(
|
|
const HostPortPair* host_and_port,
|
|
NetLogCaptureMode /* capture_mode */) {
|
|
std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue());
|
|
dict->SetString("host_and_port", host_and_port->ToString());
|
|
return std::move(dict);
|
|
}
|
|
|
|
std::unique_ptr<base::Value> NetLogIPEndPointCallback(
|
|
const IPEndPoint* address,
|
|
NetLogCaptureMode /* capture_mode */) {
|
|
std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue());
|
|
dict->SetString("address", address->ToString());
|
|
return std::move(dict);
|
|
}
|
|
|
|
std::unique_ptr<base::Value> NetLogSourceAddressCallback(
|
|
const struct sockaddr* net_address,
|
|
socklen_t address_len,
|
|
NetLogCaptureMode /* capture_mode */) {
|
|
std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue());
|
|
IPEndPoint ipe;
|
|
bool result = ipe.FromSockAddr(net_address, address_len);
|
|
DCHECK(result);
|
|
dict->SetString("source_address", ipe.ToString());
|
|
return std::move(dict);
|
|
}
|
|
|
|
} // namespace
|
|
|
|
NetLogParametersCallback CreateNetLogSocketErrorCallback(int net_error,
|
|
int os_error) {
|
|
return base::Bind(&NetLogSocketErrorCallback, net_error, os_error);
|
|
}
|
|
|
|
NetLogParametersCallback CreateNetLogHostPortPairCallback(
|
|
const HostPortPair* host_and_port) {
|
|
return base::Bind(&NetLogHostPortPairCallback, host_and_port);
|
|
}
|
|
|
|
NetLogParametersCallback CreateNetLogIPEndPointCallback(
|
|
const IPEndPoint* address) {
|
|
return base::Bind(&NetLogIPEndPointCallback, address);
|
|
}
|
|
|
|
NetLogParametersCallback CreateNetLogSourceAddressCallback(
|
|
const struct sockaddr* net_address,
|
|
socklen_t address_len) {
|
|
return base::Bind(&NetLogSourceAddressCallback, net_address, address_len);
|
|
}
|
|
|
|
} // namespace net
|