harmony 鸿蒙arkweb_scheme_handler.h
arkweb_scheme_handler.h
Overview
Declares the APIs used to intercept requests from ArkWeb.
Library: libohweb.so
File to include:
System capability: SystemCapability.Web.Webview.Core
Since: 12
Related module: Web
Summary
Types
Name | Description |
---|---|
typedef enum ArkWeb_CustomSchemeOption ArkWeb_CustomSchemeOption | Defines an enum for the custom scheme option. |
typedef enum ArkWeb_ResourceType ArkWeb_ResourceType | Defines an enum for the resource type. |
typedef struct ArkWebSchemeHandler ArkWeb_SchemeHandler | Defines a struct for the intercept of a specified scheme request. |
typedef struct ArkWebResourceHandler ArkWeb_ResourceHandler | Defines a struct for the intercepted URL requests. |
typedef struct ArkWebResponse ArkWeb_Response | Defines a struct for ArkWeb_Response for the intercepted request. |
typedef struct ArkWebResourceRequest ArkWeb_ResourceRequest | Defines a struct for resource request. Through OH_ArkWeb_ResourceRequest, you can obtain the URL, method, post data, and other information of the request. |
typedef struct ArkWebRequestHeaderList ArkWeb_RequestHeaderList | Defines a struct for request header list. |
typedef struct ArkWebHttpBodyStream ArkWeb_HttpBodyStream | Defines a struct for the request upload data. |
typedef void(* ArkWeb_OnRequestStart) (const ArkWeb_SchemeHandler *schemeHandler, ArkWeb_ResourceRequest *resourceRequest, const ArkWeb_ResourceHandler *resourceHandler, bool *intercept) | Defines a callback used to start the request on the I/O thread. |
typedef void(* ArkWeb_OnRequestStop) (const ArkWeb_SchemeHandler *schemeHandler, const ArkWeb_ResourceRequest *resourceRequest) | Defines a callback used to stop the request. |
typedef void(* ArkWeb_HttpBodyStreamReadCallback) (const ArkWeb_HttpBodyStream *httpBodyStream, uint8_t *buffer, int bytesRead) | Defines a callback used when OH_ArkWebHttpBodyStream_Read is complete. |
typedef void(* ArkWeb_HttpBodyStreamInitCallback) (const ArkWeb_HttpBodyStream *httpBodyStream, ArkWeb_NetError result) | Defines a callback used when ArkWeb_HttpBodyStream initialization is complete. |
Enums
Name | Description |
---|---|
ArkWeb_CustomSchemeOption { OH_ARKWEB_SCHEME_OPTION_NONE = 0, ARKWEB_SCHEME_OPTION_STANDARD = 1 << 0, ARKWEB_SCHEME_OPTION_LOCAL = 1 << 1, ARKWEB_SCHEME_OPTION_DISPLAY_ISOLATED = 1 << 2, ARKWEB_SCHEME_OPTION_SECURE = 1 << 3, ARKWEB_SCHEME_OPTION_CORS_ENABLED = 1 << 4, ARKWEB_SCHEME_OPTION_CSP_BYPASSING = 1 << 5, ARKWEB_SCHEME_OPTION_FETCH_ENABLED = 1 << 6, ARKWEB_SCHEME_OPTION_CODE_CACHE_ENABLED = 1 << 7 } |
Enumerates the custom scheme options. |
ArkWeb_ResourceType { MAIN_FRAME = 0, SUB_FRAME = 1, STYLE_SHEET = 2, SCRIPT = 3, IMAGE = 4, FONT_RESOURCE = 5, SUB_RESOURCE = 6, OBJECT = 7, MEDIA = 8, WORKER = 9, SHARED_WORKER = 10, PREFETCH = 11, FAVICON = 12, XHR = 13, PING = 14, SERVICE_WORKER = 15, CSP_REPORT = 16, PLUGIN_RESOURCE = 17, NAVIGATION_PRELOAD_MAIN_FRAME = 19, NAVIGATION_PRELOAD_SUB_FRAME = 20 } |
Enumerates the resource types. |
Functions
Name | Description |
---|---|
void OH_ArkWebRequestHeaderList_Destroy (ArkWeb_RequestHeaderList *requestHeaderList) | Destroys an ArkWeb_RequestHeaderList object. |
int32_t OH_ArkWebRequestHeaderList_GetSize (const ArkWeb_RequestHeaderList *requestHeaderList) | Obtains the size of a request header list. |
void OH_ArkWebRequestHeaderList_GetHeader (const ArkWeb_RequestHeaderList *requestHeaderList, int32_t index, char **key, char **value) | Obtains a specified request header. |
int32_t OH_ArkWebResourceRequest_SetUserData (ArkWeb_ResourceRequest *resourceRequest, void *userData) | Sets user data to the ArkWeb_ResourceRequest object. |
void * OH_ArkWebResourceRequest_GetUserData (const ArkWeb_ResourceRequest *resourceRequest) | Obtains user data from ArkWeb_ResourceRequest. |
void OH_ArkWebResourceRequest_GetMethod (const ArkWeb_ResourceRequest *resourceRequest, char **method) | Obtains the method of a request. |
void OH_ArkWebResourceRequest_GetUrl (const ArkWeb_ResourceRequest *resourceRequest, char **url) | Obtains the request URL. |
void OH_ArkWebResourceRequest_GetHttpBodyStream (const ArkWeb_ResourceRequest *resourceRequest, ArkWeb_HttpBodyStream **httpBodyStream) | Creates an ArkWeb_HttpBodyStream to read the uploaded data of the request. |
void OH_ArkWebResourceRequest_DestroyHttpBodyStream (ArkWeb_HttpBodyStream *httpBodyStream) | Destroys an ArkWeb_HttpBodyStream object. |
int32_t OH_ArkWebResourceRequest_GetResourceType (const ArkWeb_ResourceRequest *resourceRequest) | Obtains the resource type of a request. |
void OH_ArkWebResourceRequest_GetFrameUrl (const ArkWeb_ResourceRequest *resourceRequest, char **frameUrl) | Obtains the URL of the Frame that triggered the request. |
int32_t OH_ArkWebHttpBodyStream_SetUserData (ArkWeb_HttpBodyStream *httpBodyStream, void *userData) | Sets user data to the ArkWeb_HttpBodyStream object. |
void * OH_ArkWebHttpBodyStream_GetUserData (const ArkWeb_HttpBodyStream *httpBodyStream) | Obtains user data from ArkWeb_HttpBodyStream. |
int32_t OH_ArkWebHttpBodyStream_SetReadCallback (ArkWeb_HttpBodyStream *httpBodyStream, ArkWeb_HttpBodyStreamReadCallback readCallback) | Sets a callback for OH_ArkWebHttpBodyStream_Read. |
int32_t OH_ArkWebHttpBodyStream_Init (ArkWeb_HttpBodyStream *httpBodyStream, ArkWeb_HttpBodyStreamInitCallback initCallback) | Initializes ArkWeb_HttpBodyStream. |
void OH_ArkWebHttpBodyStream_Read (const ArkWeb_HttpBodyStream *httpBodyStream, uint8_t *buffer, int bufLen) | Exports upload data of the request to the buffer. |
uint64_t OH_ArkWebHttpBodyStream_GetSize (const ArkWeb_HttpBodyStream *httpBodyStream) | Obtains the size of httpBodyStream. |
uint64_t OH_ArkWebHttpBodyStream_GetPosition (const ArkWeb_HttpBodyStream *httpBodyStream) | Obtains the position of httpBodyStream. |
bool OH_ArkWebHttpBodyStream_IsChunked (const ArkWeb_HttpBodyStream *httpBodyStream) | Determines whether httpBodyStream is chunked. |
bool OH_ArkWebHttpBodyStream_IsEof (const ArkWeb_HttpBodyStream *httpBodyStream) | Returns true if all data in httpBodyStream has been read. |
bool OH_ArkWebHttpBodyStream_IsInMemory (const ArkWeb_HttpBodyStream *httpBodyStream) | Returns true if all the upload data in httpBodyStream is in memory and all read requests will be synchronized successfully. |
int32_t OH_ArkWebResourceRequest_Destroy (const ArkWeb_ResourceRequest *resourceRequest) | Destroys an ArkWeb_ResourceRequest object. |
void OH_ArkWebResourceRequest_GetReferrer (const ArkWeb_ResourceRequest *resourceRequest, char **referrer) | Obtains the referrer of a request. |
void OH_ArkWebResourceRequest_GetRequestHeaders (const ArkWeb_ResourceRequest *resourceRequest, ArkWeb_RequestHeaderList **requestHeaderList) | Obtains the OH_ArkWeb_RequestHeaderList. |
bool OH_ArkWebResourceRequest_IsRedirect (const ArkWeb_ResourceRequest *resourceRequest) | Determines whether a request is redirect. |
bool OH_ArkWebResourceRequest_IsMainFrame (const ArkWeb_ResourceRequest *resourceRequest) | Determines whether a request is from main frame. |
bool OH_ArkWebResourceRequest_HasGesture (const ArkWeb_ResourceRequest *resourceRequest) | Determines whether a request is triggered by a user gesture. |
int32_t OH_ArkWeb_RegisterCustomSchemes (const char *scheme, int32_t option) | Registers a custom scheme with the ArkWeb. |
bool OH_ArkWebServiceWorker_SetSchemeHandler (const char *scheme, ArkWeb_SchemeHandler *schemeHandler) | Sets an ArkWeb_SchemeHandler for a specified scheme to intercept requests of the scheme type triggered by ServiceWorker. |
bool OH_ArkWeb_SetSchemeHandler (const char *scheme, const char *webTag, ArkWeb_SchemeHandler *schemeHandler) | Sets an ArkWeb_SchemeHandler for a specified scheme to intercept requests of the scheme. |
int32_t OH_ArkWebServiceWorker_ClearSchemeHandlers () | Clears the SchemeHandler registered for ServiceWorker. |
int32_t OH_ArkWeb_ClearSchemeHandlers (const char *webTag) | Clears the SchemeHandler registered for the specified web. |
void OH_ArkWeb_CreateSchemeHandler (ArkWeb_SchemeHandler **schemeHandler) | Creates an ArkWeb_SchemeHandler object. |
void OH_ArkWeb_DestroySchemeHandler (ArkWeb_SchemeHandler *schemeHandler) | Destroys an ArkWeb_SchemeHandler object. |
int32_t OH_ArkWebSchemeHandler_SetUserData (ArkWeb_SchemeHandler *schemeHandler, void *userData) | Sets user data to the ArkWeb_SchemeHandler object. |
void * OH_ArkWebSchemeHandler_GetUserData (const ArkWeb_SchemeHandler *schemeHandler) | Obtains the user data from ArkWeb_SchemeHandler. |
int32_t OH_ArkWebSchemeHandler_SetOnRequestStart (ArkWeb_SchemeHandler *schemeHandler, ArkWeb_OnRequestStart onRequestStart) | Sets an OnRequestStart callback for SchemeHandler. |
int32_t OH_ArkWebSchemeHandler_SetOnRequestStop (ArkWeb_SchemeHandler *schemeHandler, ArkWeb_OnRequestStop onRequestStop) | Sets an OnRequestStop callback for SchemeHandler. |
void OH_ArkWeb_CreateResponse (ArkWeb_Response **response) | Creates an ArkWeb_Response object for the intercepted request. |
void OH_ArkWeb_DestroyResponse (ArkWeb_Response *response) | Destroys an ArkWeb_Response object. |
int32_t OH_ArkWebResponse_SetUrl (ArkWeb_Response *response, const char *url) | Sets the parsed URL that is redirected or changed due to HSTS. After the setting, redirection is triggered. |
void OH_ArkWebResponse_GetUrl (const ArkWeb_Response *response, char **url) | Obtains the parsed URL that has been redirected or changed due to HSTS. |
int32_t OH_ArkWebResponse_SetError (ArkWeb_Response *response, ArkWeb_NetError errorCode) | Sets an error code for the ArkWeb_Response object. |
ArkWeb_NetError OH_ArkWebResponse_GetError (const ArkWeb_Response *response) | Obtains the error code of ArkWeb_Response. |
int32_t OH_ArkWebResponse_SetStatus (ArkWeb_Response *response, int status) | Sets an HTTP status code for the ArkWeb_Response object. |
int OH_ArkWebResponse_GetStatus (const ArkWeb_Response *response) | Obtains the HTTP status code of ArkWeb_Response. |
int32_t OH_ArkWebResponse_SetStatusText (ArkWeb_Response *response, const char *statusText) | Sets the status text for ArkWeb_Response. |
void OH_ArkWebResponse_GetStatusText (const ArkWeb_Response *response, char **statusText) | Obtains the status text of ArkWeb_Response. |
int32_t OH_ArkWebResponse_SetMimeType (ArkWeb_Response *response, const char *mimeType) | Sets the media type for ArkWeb_Response. |
void OH_ArkWebResponse_GetMimeType (const ArkWeb_Response *response, char **mimeType) | Obtains the media type of ArkWeb_Response. |
int32_t OH_ArkWebResponse_SetCharset (ArkWeb_Response *response, const char *charset) | Sets the character set for ArkWeb_Response. |
void OH_ArkWebResponse_GetCharset (const ArkWeb_Response *response, char **charset) | Obtains the character set of ArkWeb_Response. |
int32_t OH_ArkWebResponse_SetHeaderByName (ArkWeb_Response *response, const char *name, const char *value, bool overwrite) | Sets a header for ArkWeb_Response. |
void OH_ArkWebResponse_GetHeaderByName (const ArkWeb_Response *response, const char *name, char **value) | Obtains the header from ArkWeb_Response. |
int32_t OH_ArkWebResourceHandler_Destroy (const ArkWeb_ResourceHandler *resourceHandler) | Destroys an ArkWeb_ResourceHandler object. |
int32_t OH_ArkWebResourceHandler_DidReceiveResponse (const ArkWeb_ResourceHandler *resourceHandler, const ArkWeb_Response *response) | Sends a response header to the intercepted request. OH_ArkWebResourceHandler_DidReceiveResponse is mandatory. If an error occurs before the response is received, set an error in the response and notify the kernel by calling this function. |
int32_t OH_ArkWebResourceHandler_DidReceiveData (const ArkWeb_ResourceHandler *resourceHandler, const uint8_t *buffer, int64_t bufLen) | Sends a response body to the intercepted request. |
int32_t OH_ArkWebResourceHandler_DidFinish (const ArkWeb_ResourceHandler *resourceHandler) | Notifies the ArkWeb kernel that the intercepted request has been finished and that no more data is available. |
int32_t OH_ArkWebResourceHandler_DidFailWithError (const ArkWeb_ResourceHandler *resourceHandler, ArkWeb_NetError errorCode) | Notifies the ArkWeb kernel that the intercepted request fails. |
void OH_ArkWeb_ReleaseString (char *string) | Releases the string created by NDK APIs. |
void OH_ArkWeb_ReleaseByteArray (uint8_t *byteArray) | Releases the byte array created by NDK APIs. |
你可能感兴趣的鸿蒙文章
harmony 鸿蒙ArkWeb API Reference
harmony 鸿蒙ArkWeb_ControllerAPI
harmony 鸿蒙ArkWeb_CookieManagerAPI
harmony 鸿蒙ArkWeb_JavaScriptBridgeData
harmony 鸿蒙ArkWeb_JavaScriptObject
0
赞
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦