This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
zhuyujia-webhopper/collector/adg-linux/gen/extensions/common/api/web_request.h
little_stone bd2d50cf35 code update
2022-05-05 20:41:28 +08:00

449 lines
14 KiB
C++
Executable File

// Copyright (c) 2019 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.
// GENERATED FROM THE API DEFINITION IN
// extensions/common/api/web_request.json
// DO NOT EDIT.
#ifndef EXTENSIONS_COMMON_API_WEB_REQUEST_H__
#define EXTENSIONS_COMMON_API_WEB_REQUEST_H__
#include <stdint.h>
#include <map>
#include <memory>
#include <string>
#include <vector>
#include "base/logging.h"
#include "base/values.h"
namespace extensions {
namespace api {
namespace web_request {
//
// Properties
//
// The maximum number of times that <code>handlerBehaviorChanged</code> can be
// called per 10 minute sustained interval. <code>handlerBehaviorChanged</code>
// is an expensive function call that shouldn't be called often.
extern const int MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES;
//
// Types
//
enum ResourceType {
RESOURCE_TYPE_NONE,
RESOURCE_TYPE_MAIN_FRAME,
RESOURCE_TYPE_SUB_FRAME,
RESOURCE_TYPE_STYLESHEET,
RESOURCE_TYPE_SCRIPT,
RESOURCE_TYPE_IMAGE,
RESOURCE_TYPE_FONT,
RESOURCE_TYPE_OBJECT,
RESOURCE_TYPE_XMLHTTPREQUEST,
RESOURCE_TYPE_PING,
RESOURCE_TYPE_CSP_REPORT,
RESOURCE_TYPE_MEDIA,
RESOURCE_TYPE_WEBSOCKET,
RESOURCE_TYPE_OTHER,
RESOURCE_TYPE_LAST = RESOURCE_TYPE_OTHER,
};
const char* ToString(ResourceType as_enum);
ResourceType ParseResourceType(const std::string& as_string);
enum OnBeforeRequestOptions {
ON_BEFORE_REQUEST_OPTIONS_NONE,
ON_BEFORE_REQUEST_OPTIONS_BLOCKING,
ON_BEFORE_REQUEST_OPTIONS_REQUESTBODY,
ON_BEFORE_REQUEST_OPTIONS_LAST = ON_BEFORE_REQUEST_OPTIONS_REQUESTBODY,
};
const char* ToString(OnBeforeRequestOptions as_enum);
OnBeforeRequestOptions ParseOnBeforeRequestOptions(const std::string& as_string);
enum OnBeforeSendHeadersOptions {
ON_BEFORE_SEND_HEADERS_OPTIONS_NONE,
ON_BEFORE_SEND_HEADERS_OPTIONS_REQUESTHEADERS,
ON_BEFORE_SEND_HEADERS_OPTIONS_BLOCKING,
ON_BEFORE_SEND_HEADERS_OPTIONS_LAST = ON_BEFORE_SEND_HEADERS_OPTIONS_BLOCKING,
};
const char* ToString(OnBeforeSendHeadersOptions as_enum);
OnBeforeSendHeadersOptions ParseOnBeforeSendHeadersOptions(const std::string& as_string);
enum OnSendHeadersOptions {
ON_SEND_HEADERS_OPTIONS_NONE,
ON_SEND_HEADERS_OPTIONS_REQUESTHEADERS,
ON_SEND_HEADERS_OPTIONS_LAST = ON_SEND_HEADERS_OPTIONS_REQUESTHEADERS,
};
const char* ToString(OnSendHeadersOptions as_enum);
OnSendHeadersOptions ParseOnSendHeadersOptions(const std::string& as_string);
enum OnHeadersReceivedOptions {
ON_HEADERS_RECEIVED_OPTIONS_NONE,
ON_HEADERS_RECEIVED_OPTIONS_BLOCKING,
ON_HEADERS_RECEIVED_OPTIONS_RESPONSEHEADERS,
ON_HEADERS_RECEIVED_OPTIONS_LAST = ON_HEADERS_RECEIVED_OPTIONS_RESPONSEHEADERS,
};
const char* ToString(OnHeadersReceivedOptions as_enum);
OnHeadersReceivedOptions ParseOnHeadersReceivedOptions(const std::string& as_string);
enum OnAuthRequiredOptions {
ON_AUTH_REQUIRED_OPTIONS_NONE,
ON_AUTH_REQUIRED_OPTIONS_RESPONSEHEADERS,
ON_AUTH_REQUIRED_OPTIONS_BLOCKING,
ON_AUTH_REQUIRED_OPTIONS_ASYNCBLOCKING,
ON_AUTH_REQUIRED_OPTIONS_LAST = ON_AUTH_REQUIRED_OPTIONS_ASYNCBLOCKING,
};
const char* ToString(OnAuthRequiredOptions as_enum);
OnAuthRequiredOptions ParseOnAuthRequiredOptions(const std::string& as_string);
enum OnResponseStartedOptions {
ON_RESPONSE_STARTED_OPTIONS_NONE,
ON_RESPONSE_STARTED_OPTIONS_RESPONSEHEADERS,
ON_RESPONSE_STARTED_OPTIONS_LAST = ON_RESPONSE_STARTED_OPTIONS_RESPONSEHEADERS,
};
const char* ToString(OnResponseStartedOptions as_enum);
OnResponseStartedOptions ParseOnResponseStartedOptions(const std::string& as_string);
enum OnBeforeRedirectOptions {
ON_BEFORE_REDIRECT_OPTIONS_NONE,
ON_BEFORE_REDIRECT_OPTIONS_RESPONSEHEADERS,
ON_BEFORE_REDIRECT_OPTIONS_LAST = ON_BEFORE_REDIRECT_OPTIONS_RESPONSEHEADERS,
};
const char* ToString(OnBeforeRedirectOptions as_enum);
OnBeforeRedirectOptions ParseOnBeforeRedirectOptions(const std::string& as_string);
enum OnCompletedOptions {
ON_COMPLETED_OPTIONS_NONE,
ON_COMPLETED_OPTIONS_RESPONSEHEADERS,
ON_COMPLETED_OPTIONS_LAST = ON_COMPLETED_OPTIONS_RESPONSEHEADERS,
};
const char* ToString(OnCompletedOptions as_enum);
OnCompletedOptions ParseOnCompletedOptions(const std::string& as_string);
// An object describing filters to apply to webRequest events.
struct RequestFilter {
RequestFilter();
~RequestFilter();
RequestFilter(RequestFilter&& rhs);
RequestFilter& operator=(RequestFilter&& rhs);
// Populates a RequestFilter object from a base::Value. Returns whether |out|
// was successfully populated.
static bool Populate(const base::Value& value, RequestFilter* out);
// Creates a RequestFilter object from a base::Value, or NULL on failure.
static std::unique_ptr<RequestFilter> FromValue(const base::Value& value);
// Returns a new base::DictionaryValue representing the serialized form of
// this RequestFilter object.
std::unique_ptr<base::DictionaryValue> ToValue() const;
// A list of URLs or URL patterns. Requests that cannot match any of the URLs
// will be filtered out.
std::vector<std::string> urls;
// A list of request types. Requests that cannot match any of the types will be
// filtered out.
std::unique_ptr<std::vector<ResourceType>> types;
std::unique_ptr<int> tab_id;
std::unique_ptr<int> window_id;
private:
DISALLOW_COPY_AND_ASSIGN(RequestFilter);
};
// Contains data uploaded in a URL request.
struct UploadData {
UploadData();
~UploadData();
UploadData(UploadData&& rhs);
UploadData& operator=(UploadData&& rhs);
// Populates a UploadData object from a base::Value. Returns whether |out| was
// successfully populated.
static bool Populate(const base::Value& value, UploadData* out);
// Creates a UploadData object from a base::Value, or NULL on failure.
static std::unique_ptr<UploadData> FromValue(const base::Value& value);
// Returns a new base::DictionaryValue representing the serialized form of
// this UploadData object.
std::unique_ptr<base::DictionaryValue> ToValue() const;
// An ArrayBuffer with a copy of the data.
std::unique_ptr<base::Value> bytes;
// A string with the file's path and name.
std::unique_ptr<std::string> file;
private:
DISALLOW_COPY_AND_ASSIGN(UploadData);
};
// Contains data passed within form data. For urlencoded form it is stored as
// string if data is utf-8 string and as ArrayBuffer otherwise. For form-data it
// is ArrayBuffer. If form-data represents uploading file, it is string with
// filename, if the filename is provided.
struct FormDataItem {
FormDataItem();
~FormDataItem();
FormDataItem(FormDataItem&& rhs);
FormDataItem& operator=(FormDataItem&& rhs);
// Populates a FormDataItem object from a base::Value. Returns whether |out|
// was successfully populated.
static bool Populate(const base::Value& value, FormDataItem* out);
// Creates a FormDataItem object from a base::Value, or NULL on failure.
static std::unique_ptr<FormDataItem> FromValue(const base::Value& value);
// Returns a new base::Value representing the serialized form of this
// FormDataItem object.
std::unique_ptr<base::Value> ToValue() const;
// Choices:
std::unique_ptr<std::vector<char>> as_binary;
std::unique_ptr<std::string> as_string;
private:
DISALLOW_COPY_AND_ASSIGN(FormDataItem);
};
//
// Functions
//
namespace HandlerBehaviorChanged {
namespace Results {
std::unique_ptr<base::ListValue> Create();
} // namespace Results
} // namespace HandlerBehaviorChanged
//
// Events
//
namespace OnBeforeRequest {
extern const char kEventName[]; // "webRequest.onBeforeRequest"
struct Details {
Details();
~Details();
Details(Details&& rhs);
Details& operator=(Details&& rhs);
// Returns a new base::DictionaryValue representing the serialized form of
// this Details object.
std::unique_ptr<base::DictionaryValue> ToValue() const;
// Contains the HTTP request body data. Only provided if extraInfoSpec contains
// 'requestBody'.
struct RequestBody {
RequestBody();
~RequestBody();
RequestBody(RequestBody&& rhs);
RequestBody& operator=(RequestBody&& rhs);
// Returns a new base::DictionaryValue representing the serialized form of
// this RequestBody object.
std::unique_ptr<base::DictionaryValue> ToValue() const;
// If the request method is POST and the body is a sequence of key-value pairs
// encoded in UTF8, encoded as either multipart/form-data, or
// application/x-www-form-urlencoded, this dictionary is present and for each
// key contains the list of all values for that key. If the data is of another
// media type, or if it is malformed, the dictionary is not present. An example
// value of this dictionary is {'key': ['value1', 'value2']}.
struct FormData {
FormData();
~FormData();
FormData(FormData&& rhs);
FormData& operator=(FormData&& rhs);
// Returns a new base::DictionaryValue representing the serialized form of
// this FormData object.
std::unique_ptr<base::DictionaryValue> ToValue() const;
std::map<std::string, std::vector<FormDataItem>> additional_properties;
private:
DISALLOW_COPY_AND_ASSIGN(FormData);
};
// Errors when obtaining request body data.
std::unique_ptr<std::string> error;
// If the request method is POST and the body is a sequence of key-value pairs
// encoded in UTF8, encoded as either multipart/form-data, or
// application/x-www-form-urlencoded, this dictionary is present and for each
// key contains the list of all values for that key. If the data is of another
// media type, or if it is malformed, the dictionary is not present. An example
// value of this dictionary is {'key': ['value1', 'value2']}.
std::unique_ptr<FormData> form_data;
// If the request method is PUT or POST, and the body is not already parsed in
// formData, then the unparsed request body elements are contained in this
// array.
std::unique_ptr<std::vector<UploadData>> raw;
private:
DISALLOW_COPY_AND_ASSIGN(RequestBody);
};
// The ID of the request. Request IDs are unique within a browser session. As a
// result, they could be used to relate different events of the same request.
std::string request_id;
std::string url;
// Standard HTTP method.
std::string method;
// The value 0 indicates that the request happens in the main frame; a positive
// value indicates the ID of a subframe in which the request happens. If the
// document of a (sub-)frame is loaded (<code>type</code> is
// <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code>
// indicates the ID of this frame, not the ID of the outer frame. Frame IDs are
// unique within a tab.
int frame_id;
// ID of frame that wraps the frame which sent the request. Set to -1 if no
// parent frame exists.
int parent_frame_id;
// Contains the HTTP request body data. Only provided if extraInfoSpec contains
// 'requestBody'.
std::unique_ptr<RequestBody> request_body;
// The ID of the tab in which the request takes place. Set to -1 if the request
// isn't related to a tab.
int tab_id;
// How the requested resource will be used.
ResourceType type;
// The origin where the request was initiated. This does not change through
// redirects. If this is an opaque origin, the string 'null' will be used.
std::unique_ptr<std::string> initiator;
// The time when this signal is triggered, in milliseconds since the epoch.
double time_stamp;
private:
DISALLOW_COPY_AND_ASSIGN(Details);
};
std::unique_ptr<base::ListValue> Create(const Details& details);
} // namespace OnBeforeRequest
namespace OnErrorOccurred {
extern const char kEventName[]; // "webRequest.onErrorOccurred"
struct Details {
Details();
~Details();
Details(Details&& rhs);
Details& operator=(Details&& rhs);
// Returns a new base::DictionaryValue representing the serialized form of
// this Details object.
std::unique_ptr<base::DictionaryValue> ToValue() const;
// The ID of the request. Request IDs are unique within a browser session. As a
// result, they could be used to relate different events of the same request.
std::string request_id;
std::string url;
// Standard HTTP method.
std::string method;
// The value 0 indicates that the request happens in the main frame; a positive
// value indicates the ID of a subframe in which the request happens. If the
// document of a (sub-)frame is loaded (<code>type</code> is
// <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code>
// indicates the ID of this frame, not the ID of the outer frame. Frame IDs are
// unique within a tab.
int frame_id;
// ID of frame that wraps the frame which sent the request. Set to -1 if no
// parent frame exists.
int parent_frame_id;
// The ID of the tab in which the request takes place. Set to -1 if the request
// isn't related to a tab.
int tab_id;
// How the requested resource will be used.
ResourceType type;
// The origin where the request was initiated. This does not change through
// redirects. If this is an opaque origin, the string 'null' will be used.
std::unique_ptr<std::string> initiator;
// The time when this signal is triggered, in milliseconds since the epoch.
double time_stamp;
// The server IP address that the request was actually sent to. Note that it may
// be a literal IPv6 address.
std::unique_ptr<std::string> ip;
// Indicates if this response was fetched from disk cache.
bool from_cache;
// The error description. This string is <em>not</em> guaranteed to remain
// backwards compatible between releases. You must not parse and act based upon
// its content.
std::string error;
private:
DISALLOW_COPY_AND_ASSIGN(Details);
};
std::unique_ptr<base::ListValue> Create(const Details& details);
} // namespace OnErrorOccurred
} // namespace web_request
} // namespace api
} // namespace extensions
#endif // EXTENSIONS_COMMON_API_WEB_REQUEST_H__