electron/atom/common/native_mate_converters/net_converter.h

71 lines
1.9 KiB
C
Raw Normal View History

2015-10-31 13:39:07 +00:00
// Copyright (c) 2015 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_COMMON_NATIVE_MATE_CONVERTERS_NET_CONVERTER_H_
#define ATOM_COMMON_NATIVE_MATE_CONVERTERS_NET_CONVERTER_H_
#include "base/memory/ref_counted.h"
2015-10-31 13:39:07 +00:00
#include "native_mate/converter.h"
namespace base {
class DictionaryValue;
class ListValue;
2018-04-18 01:44:10 +00:00
} // namespace base
2015-10-31 13:39:07 +00:00
namespace net {
class AuthChallengeInfo;
class URLRequest;
class X509Certificate;
class HttpResponseHeaders;
struct CertPrincipal;
2018-04-18 01:44:10 +00:00
} // namespace net
2015-10-31 13:39:07 +00:00
namespace mate {
2018-04-18 01:44:10 +00:00
template <>
2015-10-31 13:39:07 +00:00
struct Converter<const net::AuthChallengeInfo*> {
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
const net::AuthChallengeInfo* val);
};
2018-04-18 01:44:10 +00:00
template <>
struct Converter<scoped_refptr<net::X509Certificate>> {
2018-04-18 01:44:10 +00:00
static v8::Local<v8::Value> ToV8(
v8::Isolate* isolate,
const scoped_refptr<net::X509Certificate>& val);
static bool FromV8(v8::Isolate* isolate,
v8::Local<v8::Value> val,
scoped_refptr<net::X509Certificate>* out);
};
2018-04-18 01:44:10 +00:00
template <>
struct Converter<net::CertPrincipal> {
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
const net::CertPrincipal& val);
};
2016-10-25 10:41:01 +00:00
template <>
struct Converter<net::HttpResponseHeaders*> {
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
net::HttpResponseHeaders* headers);
static bool FromV8(v8::Isolate* isolate,
v8::Local<v8::Value> val,
net::HttpResponseHeaders* out);
};
2015-10-31 13:39:07 +00:00
} // namespace mate
namespace atom {
void FillRequestDetails(base::DictionaryValue* details,
const net::URLRequest* request);
void GetUploadData(base::ListValue* upload_data_list,
const net::URLRequest* request);
} // namespace atom
2015-10-31 13:39:07 +00:00
#endif // ATOM_COMMON_NATIVE_MATE_CONVERTERS_NET_CONVERTER_H_