openharmony 鸿蒙 capi-arkweb-scheme-handler-h

2026-08-25 浏览 (1)

arkweb_scheme_handler.h

Overview

Declares the APIs used to intercept requests from ArkWeb.

File to include: <web/arkweb_scheme_handler.h>

Library: libohweb.so

System capability: SystemCapability.Web.Webview.Core

Since: 12

Related module: Web

Example: ArkWebSchemeHandler

Summary

Structs

Nametypedef KeywordDescription
ArkWeb_SchemeHandler_ArkWeb_SchemeHandlerDefines a handler used to intercept requests of a specified scheme.
ArkWeb_ResourceHandler_ArkWeb_ResourceHandlerDefines a handler for intercepted URL requests. You can use ArkWeb_ResourceHandler to send custom request headers and bodies.
ArkWeb_Response_ArkWeb_ResponseDefines an ArkWeb_Response for the intercepted request.
ArkWeb_ResourceRequest_ArkWeb_ResourceRequestDefines a kernel request. You can use OH_ArkWeb_ResourceRequest to obtain the URL, method, post data, and other information of the request.
ArkWeb_RequestHeaderList_ArkWeb_RequestHeaderListDefines a request header list.
ArkWeb_HttpBodyStream_ArkWeb_HttpBodyStreamDefines the uploaded data of a request. You can use the OH_ArkWebHttpBodyStream_ API to read the uploaded data.

Enums

Nametypedef KeywordDescription
ArkWeb_CustomSchemeOptionArkWeb_CustomSchemeOptionEnumerates the custom scheme options.
ArkWeb_ResourceTypeArkWeb_ResourceTypeEnumerates the resource types of the request. The resource types match the corresponding items of ResourceType in Chromium and should not be renumbered.

Functions

Nametypedef KeywordDescription
typedef void (*ArkWeb_OnRequestStart)(const ArkWeb_SchemeHandler* schemeHandler,ArkWeb_ResourceRequest* resourceRequest,const ArkWeb_ResourceHandler* resourceHandler,bool* intercept)ArkWeb_OnRequestStartCalled when a request starts. This callback is used on the IO thread.
typedef void (*ArkWeb_OnRequestStop)(const ArkWeb_SchemeHandler* schemeHandler,const ArkWeb_ResourceRequest* resourceRequest)ArkWeb_OnRequestStopCalled when the request stops. This callback is used on the IO thread.
You can use ArkWeb_ResourceRequest_Destroy to destroy resourceRequest,
and ArkWeb_ResourceHandler_Destroy to destroy the ArkWeb_ResourceHandler received in ArkWeb_OnRequestStart.
typedef void (*ArkWeb_HttpBodyStreamReadCallback)(const ArkWeb_HttpBodyStream* httpBodyStream,uint8_t* buffer,int bytesRead)ArkWeb_HttpBodyStreamReadCallbackCalled when OH_ArkWebHttpBodyStream_Read is complete.
typedef void (*ArkWeb_HttpBodyStreamAsyncReadCallback)(const ArkWeb_HttpBodyStream* httpBodyStream,uint8_t* buffer,int bytesRead)ArkWeb_HttpBodyStreamAsyncReadCallbackCalled when OH_ArkWebHttpBodyStream_AsyncRead is complete.
typedef void (*ArkWeb_HttpBodyStreamInitCallback)(const ArkWeb_HttpBodyStream* httpBodyStream, ArkWeb_NetError result)ArkWeb_HttpBodyStreamInitCallbackCalled when ArkWeb_HttpBodyStream initialization is complete.
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 URL of a request.
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 triggers 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. The result of OH_ArkWebHttpBodyStream_Read is notified to the caller through readCallback,
which will run in the same thread as OH_ArkWebHttpBodyStream_Read.
int32_t OH_ArkWebHttpBodyStream_SetAsyncReadCallback(ArkWeb_HttpBodyStream* httpBodyStream,ArkWeb_HttpBodyStreamReadCallback readCallback)-Sets a callback for OH_ArkWebHttpBodyStream_AsyncRead. The result of OH_ArkWebHttpBodyStream_AsyncRead is notified to the caller through readCallback,
which will run in the same thread as OH_ArkWebHttpBodyStream_AsyncRead.
int32_t OH_ArkWebHttpBodyStream_Init(ArkWeb_HttpBodyStream* httpBodyStream,ArkWeb_HttpBodyStreamInitCallback initCallback)-Initializes ArkWeb_HttpBodyStream. This function must be called before any other function is called. This API needs to be called in the I/O thread.
void OH_ArkWebHttpBodyStream_Read(const ArkWeb_HttpBodyStream* httpBodyStream, uint8_t* buffer, int bufLen)-Exports the uploaded data of a request to the buffer. The buffer size must be greater than the value of bufLen. The data from the worker thread is exported to the buffer. Therefore, before the callback returns the data, the buffer should not be used in other threads to avoid concurrency problems.
void OH_ArkWebHttpBodyStream_AsyncRead(const ArkWeb_HttpBodyStream* httpBodyStream, uint8_t* buffer, int bufLen)-Exports the uploaded data of a request to the buffer. The buffer size must be greater than the value of bufLen. The data from the worker thread is exported to the buffer. Therefore, before the callback returns the data, the buffer should not be used in other threads to avoid concurrency problems.
uint64_t OH_ArkWebHttpBodyStream_GetSize(const ArkWeb_HttpBodyStream* httpBodyStream)-Obtains the size of httpBodyStream. When data is chunked or httpBodyStream is invalid, 0 is always returned.
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)-Determines whether all data in httpBodyStream has been read. true is returned if all data in httpBodyStream has been read. false is returned before the chunked httpBodyStream is read for the first time.
bool OH_ArkWebHttpBodyStream_IsInMemory(const ArkWeb_HttpBodyStream* httpBodyStream)-Determines whether all the uploaded data in httpBodyStream is in memory and all read requests are synchronized successfully. If yes, true is returned. false is returned if the data is chunked.
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 an OH_ArkWeb_RequestHeaderList.
bool OH_ArkWebResourceRequest_IsRedirect(const ArkWeb_ResourceRequest* resourceRequest)-Determines whether a request is redirected.
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 ArkWeb. This function should not be called for built-in HTTP, HTTPS, FILE, FTP, ABOUT, and DATA protocols.
This function should be called on the main thread before kernel initialization.
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. SchemeHandler should be set after BrowserContext is created.
You can use WebviewController.initializeWebEngine to initialize BrowserContext without creating the Web component.
bool OH_ArkWeb_SetSchemeHandler(const char* scheme, const char* webTag, ArkWeb_SchemeHandler* schemeHandler)-Sets an ArkWeb_SchemeHandler to intercept requests of a specified scheme type. SchemeHandler should be set after BrowserContext is created.
You can use WebviewController.initializeWebEngine to initialize BrowserContext without creating the Web component.
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 component.
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 a parsed URL that has been 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 ArkWeb_Response.
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 a 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 a mime type for ArkWeb_Response.
void OH_ArkWebResponse_GetMimeType(const ArkWeb_Response* response, char** mimeType)-Obtains the mime type of ArkWeb_Response.
int32_t OH_ArkWebResponse_SetCharset(ArkWeb_Response* response, const char* charset)-Sets a 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.
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.
int32_t OH_ArkWebResourceHandler_DidFailWithErrorV2(const ArkWeb_ResourceHandler* resourceHandler,ArkWeb_NetError errorCode,bool completeIfNoResponse)-Notifies the ArkWeb kernel that the intercepted request fails. Compared with OH_ArkWebResourceHandler_DidFailWithError, completeIfNoResponse is added. With this parameter set to true, if OH_ArkWebResourceHandler_DidReceiveResponse has not been called, a response is automatically generated to complete the network request and the network error code is -104. With this parameter set to false, the system waits for the application to call OH_ArkWebResourceHandler_DidReceiveResponse and transfers the response.
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.

Enum Description

ArkWeb_CustomSchemeOption

enum ArkWeb_CustomSchemeOption

Description

Enumerates the custom scheme options.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Enumerated ValueDescription
OH_ARKWEB_SCHEME_OPTION_NONE = 0No special behavior or capability is assigned when the custom scheme is registered.
ARKWEB_SCHEME_OPTION_STANDARD = 1 << 0The scheme is processed as a standard scheme.
ARKWEB_SCHEME_OPTION_LOCAL = 1 << 1The scheme is processed using the same security rule as the file URL.
ARKWEB_SCHEME_OPTION_DISPLAY_ISOLATED = 1 << 2The request of the scheme can be initiated only by the page that is loaded using the same scheme.
ARKWEB_SCHEME_OPTION_SECURE = 1 << 3The scheme is processed using the same security rule as the HTTPS URL.
ARKWEB_SCHEME_OPTION_CORS_ENABLED = 1 << 4The scheme can send CORS requests. In most cases, this value should be set when ARKWEB_SCHEME_OPTION_STANDARD is set.
ARKWEB_SCHEME_OPTION_CSP_BYPASSING = 1 << 5The scheme can bypass the Content Security Policy (CSP) check.
ARKWEB_SCHEME_OPTION_FETCH_ENABLED = 1 << 6The FETCH API request of the scheme can be initiated.
ARKWEB_SCHEME_OPTION_CODE_CACHE_ENABLED = 1 << 7The JS resources of the scheme support code cache generation.

ArkWeb_ResourceType

enum ArkWeb_ResourceType

Description

Enumerates the resource types of the request. The resource types match the corresponding items of ResourceType in Chromium and should not be renumbered.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Enumerated ValueDescription
MAIN_FRAME = 0Main frame.
SUB_FRAME = 1Frame or iframe.
STYLE_SHEET = 2Cascading Style Sheets (CSS).
SCRIPT = 3External script.
IMAGE = 4Image (JPG, GIF, PNG, or other format).
FONT_RESOURCE = 5Font.
SUB_RESOURCE = 6Other sub-resource. If the type is unknown, the default type is used.
OBJECT = 7The Object (or embed) tag of the plug-in, or the resource requested by the plug-in.
MEDIA = 8Media resource.
WORKER = 9Main resource of the dedicated worker thread.
SHARED_WORKER = 10Main resource of a shared worker thread.
PREFETCH = 11Explicit prefetch request.
FAVICON = 12Website icon.
XHR = 13XMLHttpRequest.
PING = 14Ping request of /sendBeacon.
SERVICE_WORKER = 15Main resource of a service worker.
CSP_REPORT = 16Report of Content Security Policy violation.
PLUGIN_RESOURCE = 17Resource requested by the plug-in.
NAVIGATION_PRELOAD_MAIN_FRAME = 19Main frame redirection request that triggers service worker preloading.
NAVIGATION_PRELOAD_SUB_FRAME = 20Subframe redirection request that triggers service worker preloading.

Function Description

ArkWeb_OnRequestStart()

typedef void (*ArkWeb_OnRequestStart)(const ArkWeb_SchemeHandler* schemeHandler,ArkWeb_ResourceRequest* resourceRequest,const ArkWeb_ResourceHandler* resourceHandler,bool* intercept)

Description

Called when a request starts. This callback is used on the IO thread.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_SchemeHandler* schemeHandlerArkWeb_SchemeHandler.
ArkWeb_ResourceRequest* resourceRequestObject used to obtain the request information.
const ArkWeb_ResourceHandler* resourceHandlerArkWeb_ResourceHandler of the request. If intercept is set to false, this parameter should not be used.
bool* interceptWhether to intercept the request. If the value is true, the request will be intercepted. Otherwise, the request will not be intercepted.

ArkWeb_OnRequestStop()

typedef void (*ArkWeb_OnRequestStop)(const ArkWeb_SchemeHandler* schemeHandler,const ArkWeb_ResourceRequest* resourceRequest)

Description

Called when the request stops. This callback is used on the IO thread.

You can use ArkWeb_ResourceRequest_Destroy to destroy the resourceRequest and use ArkWeb_ResourceHandler_Destroy to destroy the ArkWeb_ResourceHandler received in ArkWeb_OnRequestStart.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_SchemeHandler* schemeHandlerArkWeb_SchemeHandler.
const ArkWeb_ResourceRequest* resourceRequestArkWeb_ResourceRequest.

ArkWeb_HttpBodyStreamReadCallback()

typedef void (*ArkWeb_HttpBodyStreamReadCallback)(const ArkWeb_HttpBodyStream* httpBodyStream,uint8_t* buffer,int bytesRead)

Description

Called when OH_ArkWebHttpBodyStream_Read is complete.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_HttpBodyStream* httpBodyStreamArkWeb_HttpBodyStream.
uint8_t* bufferBuffer for receiving data.
int bytesReadCallback used when OH_ArkWebHttpBodyStream_Read is complete. If the value of bytesRead is greater than 0, the buffer is filled with data of the bytesRead size. The caller can read data from the buffer. If OH_ArkWebHttpBodyStream_IsEOF is false, the caller can continue to read the data left.

ArkWeb_HttpBodyStreamAsyncReadCallback()

typedef void (*ArkWeb_HttpBodyStreamAsyncReadCallback)(const ArkWeb_HttpBodyStream *httpBodyStream,uint8_t *buffer,int bytesRead)

Description

Called when OH_ArkWebHttpBodyStream_AsyncRead is complete.

System capability: SystemCapability.Web.Webview.Core

Since: 20

Parameters

NameDescription
const ArkWeb_HttpBodyStream* httpBodyStreamArkWeb_HttpBodyStream.
uint8_t* bufferBuffer for receiving data.
int bytesReadByte count value of the asynchronous read operation result. If the value of bytesRead is greater than 0, the buffer is filled with data of the bytesRead size. You can read data from the buffer. If OH_ArkWebHttpBodyStream_IsEOF is false, you can continue to read the data left.

ArkWeb_HttpBodyStreamInitCallback()

typedef void (*ArkWeb_HttpBodyStreamInitCallback)(const ArkWeb_HttpBodyStream* httpBodyStream, ArkWeb_NetError result)

Description

Called when ArkWeb_HttpBodyStream initialization is complete.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_HttpBodyStream* httpBodyStreamArkWeb_HttpBodyStream.
ArkWeb_NetError resultOperation result. If the operation is successful, ARKWEB_NET_OK is returned. Otherwise, see arkweb_net_error_list.h.

OH_ArkWebRequestHeaderList_Destroy()

void OH_ArkWebRequestHeaderList_Destroy(ArkWeb_RequestHeaderList* requestHeaderList)

Description

Destroys an ArkWeb_RequestHeaderList object.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
ArkWeb_RequestHeaderList* requestHeaderListThe ArkWeb_RequestHeaderList to be destroyed.

OH_ArkWebRequestHeaderList_GetSize()

int32_t OH_ArkWebRequestHeaderList_GetSize(const ArkWeb_RequestHeaderList* requestHeaderList)

Description

Obtains the size of a request header list.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_RequestHeaderList* requestHeaderListRequest header list.

Returns

TypeDescription
int32_tSize of the request header. If requestHeaderList is invalid, the value is -1.

OH_ArkWebRequestHeaderList_GetHeader()

void OH_ArkWebRequestHeaderList_GetHeader(const ArkWeb_RequestHeaderList* requestHeaderList,int32_t index,char** key,char** value)

Description

Obtains a specified request header.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_RequestHeaderList* requestHeaderListRequest header list.
int32_t indexIndex of the request header.
char** keyKey of the request header. You should use the OH_ArkWeb_ReleaseString function to release this string.
char** valueValue of the request header. You should use the OH_ArkWeb_ReleaseString function to release this string.

OH_ArkWebResourceRequest_SetUserData()

int32_t OH_ArkWebResourceRequest_SetUserData(ArkWeb_ResourceRequest* resourceRequest, void* userData)

Description

Sets user data to the ArkWeb_ResourceRequest object.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
ArkWeb_ResourceRequest* resourceRequestArkWeb_ResourceRequest.
void* userDataUser data to be set.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWebResourceRequest_GetUserData()

void* OH_ArkWebResourceRequest_GetUserData(const ArkWeb_ResourceRequest* resourceRequest)

Description

Obtains user data from ArkWeb_ResourceRequest.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_ResourceRequest* resourceRequestArkWeb_ResourceRequest.

Returns

TypeDescription
void*User data.

OH_ArkWebResourceRequest_GetMethod()

void OH_ArkWebResourceRequest_GetMethod(const ArkWeb_ResourceRequest* resourceRequest, char** method)

Description

Obtains the method of a request.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_ResourceRequest* resourceRequestArkWeb_ResourceRequest.
char** methodHTTP request method. This function allocates memory for the method string. You should use OH_ArkWeb_ReleaseString to release the string.

OH_ArkWebResourceRequest_GetUrl()

void OH_ArkWebResourceRequest_GetUrl(const ArkWeb_ResourceRequest* resourceRequest, char** url)

Description

Obtains the URL of a request.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_ResourceRequest* resourceRequestArkWeb_ResourceRequest.
char** urlURL of a request. This function allocates memory for the url string. You should release the string using OH_ArkWeb_ReleaseString.

OH_ArkWebResourceRequest_GetHttpBodyStream()

void OH_ArkWebResourceRequest_GetHttpBodyStream(const ArkWeb_ResourceRequest* resourceRequest,ArkWeb_HttpBodyStream** httpBodyStream)

Description

Creates an ArkWeb_HttpBodyStream to read the uploaded data of the request.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_ResourceRequest* resourceRequestArkWeb_ResourceRequest.
ArkWeb_HttpBodyStream** httpBodyStreamUploaded data of the request. This function allocates memory for httpBodyStream. You should use OH_ArkWebResourceRequest_DestroyHttpBodyStream to release httpBodyStream.

OH_ArkWebResourceRequest_DestroyHttpBodyStream()

void OH_ArkWebResourceRequest_DestroyHttpBodyStream(ArkWeb_HttpBodyStream* httpBodyStream)

Description

Destroys an ArkWeb_HttpBodyStream object.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
ArkWeb_HttpBodyStream* httpBodyStreamThe httpBodyStream to be destroyed.

OH_ArkWebResourceRequest_GetResourceType()

int32_t OH_ArkWebResourceRequest_GetResourceType(const ArkWeb_ResourceRequest* resourceRequest)

Description

Obtains the resource type of a request.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_ResourceRequest* resourceRequestArkWeb_ResourceRequest.

Returns

TypeDescription
int32_tResource type of the request. If resourceRequest is invalid, the value is -1.

OH_ArkWebResourceRequest_GetFrameUrl()

void OH_ArkWebResourceRequest_GetFrameUrl(const ArkWeb_ResourceRequest* resourceRequest, char** frameUrl)

Description

Obtains the URL of the frame that triggers this request.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_ResourceRequest* resourceRequestArkWeb_ResourceRequest.
char** frameUrlURL of the frame that triggers the request. This function allocates memory for the URL string. You should release the string using OH_ArkWeb_ReleaseString.

OH_ArkWebHttpBodyStream_SetUserData()

int32_t OH_ArkWebHttpBodyStream_SetUserData(ArkWeb_HttpBodyStream* httpBodyStream, void* userData)

Description

Sets user data to the ArkWeb_HttpBodyStream object.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
ArkWeb_HttpBodyStream* httpBodyStreamArkWeb_HttpBodyStream.
void* userDataUser data to be set.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWebHttpBodyStream_GetUserData()

void* OH_ArkWebHttpBodyStream_GetUserData(const ArkWeb_HttpBodyStream* httpBodyStream)

Description

Obtains user data from ArkWeb_HttpBodyStream.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_HttpBodyStream* httpBodyStreamArkWeb_HttpBodyStream.

Returns

TypeDescription
void*User data.

OH_ArkWebHttpBodyStream_SetReadCallback()

int32_t OH_ArkWebHttpBodyStream_SetReadCallback(ArkWeb_HttpBodyStream* httpBodyStream,ArkWeb_HttpBodyStreamReadCallback readCallback)

Description

Sets a callback for OH_ArkWebHttpBodyStream_Read. The result of OH_ArkWebHttpBodyStream_Read is notified to the caller through readCallback,
which will run in the same thread as OH_ArkWebHttpBodyStream_Read.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
ArkWeb_HttpBodyStream* httpBodyStreamArkWeb_HttpBodyStream.
ArkWeb_HttpBodyStreamReadCallback readCallbackCallback of OH_ArkWebHttpBodyStream_Read.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWebHttpBodyStream_SetAsyncReadCallback()

int32_t OH_ArkWebHttpBodyStream_SetAsyncReadCallback(ArkWeb_HttpBodyStream* httpBodyStream,ArkWeb_HttpBodyStreamAsyncReadCallback readCallback)

Description

Sets a callback for OH_ArkWebHttpBodyStream_AsyncRead. The result of OH_ArkWebHttpBodyStream_AsyncRead is notified to the caller through readCallback,
which runs in the ArkWeb worker thread.

System capability: SystemCapability.Web.Webview.Core

Since: 20

Parameters

NameDescription
ArkWeb_HttpBodyStream* httpBodyStreamArkWeb_HttpBodyStream.
ArkWeb_HttpBodyStreamAsyncReadCallback readCallbackCallback of OH_ArkWebHttpBodyStream_AsyncRead.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWebHttpBodyStream_Init()

int32_t OH_ArkWebHttpBodyStream_Init(ArkWeb_HttpBodyStream* httpBodyStream,ArkWeb_HttpBodyStreamInitCallback initCallback)

Description

Initializes ArkWeb_HttpBodyStream. This function must be called before any other function is called. This API needs to be called in the I/O thread.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
ArkWeb_HttpBodyStream* httpBodyStreamArkWeb_HttpBodyStream.
ArkWeb_HttpBodyStreamInitCallback initCallbackCallback of the initialization.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWebHttpBodyStream_Read()

void OH_ArkWebHttpBodyStream_Read(const ArkWeb_HttpBodyStream* httpBodyStream, uint8_t* buffer, int bufLen)

Description

Exports the uploaded data of a request to the buffer. The buffer size must be greater than the value of bufLen. The data from the worker thread is exported to the buffer. Therefore, before the callback returns the data, the buffer should not be used in other threads to avoid concurrency problems.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_HttpBodyStream* httpBodyStreamArkWeb_HttpBodyStream.
uint8_t* bufferBuffer for receiving data.
int bufLenSize of the byte to be read.

OH_ArkWebHttpBodyStream_AsyncRead()

void OH_ArkWebHttpBodyStream_AsyncRead(const ArkWeb_HttpBodyStream* httpBodyStream, uint8_t* buffer, int bufLen)

Description

Exports the uploaded data of a request to the buffer. The buffer size must be greater than bufLen. The data from the worker thread is exported to the buffer. Therefore, before the callback returns the data, the buffer should not be used in other threads to avoid concurrency problems.

System capability: SystemCapability.Web.Webview.Core

Since: 20

Parameters

NameDescription
const ArkWeb_HttpBodyStream* httpBodyStreamArkWeb_HttpBodyStream.
uint8_t* bufferBuffer for receiving data.
int bufLenSize of the byte to be read.

OH_ArkWebHttpBodyStream_GetSize()

uint64_t OH_ArkWebHttpBodyStream_GetSize(const ArkWeb_HttpBodyStream* httpBodyStream)

Description

Obtains the size of httpBodyStream. When data is chunked or httpBodyStream is invalid, 0 is always returned.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_HttpBodyStream* httpBodyStreamArkWeb_HttpBodyStream.

Returns

TypeDescription
uint64_tSize of httpBodyStream.

OH_ArkWebHttpBodyStream_GetPosition()

uint64_t OH_ArkWebHttpBodyStream_GetPosition(const ArkWeb_HttpBodyStream* httpBodyStream)

Description

Obtains the position of httpBodyStream.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_HttpBodyStream* httpBodyStreamArkWeb_HttpBodyStream.

Returns

TypeDescription
uint64_tPosition of httpBodyStream. If httpBodyStream is invalid, the position value is 0.

OH_ArkWebHttpBodyStream_IsChunked()

bool OH_ArkWebHttpBodyStream_IsChunked(const ArkWeb_HttpBodyStream* httpBodyStream)

Description

Determines whether httpBodyStream is chunked.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_HttpBodyStream* httpBodyStreamArkWeb_HttpBodyStream.

Returns

TypeDescription
booltrue is returned if httpBodyStream is chunked. Otherwise, false is returned.

OH_ArkWebHttpBodyStream_IsEof()

bool OH_ArkWebHttpBodyStream_IsEof(const ArkWeb_HttpBodyStream* httpBodyStream)

Description

Determines whether all data in httpBodyStream has been read. true is returned if all data in httpBodyStream has been read. false is returned before the chunked httpBodyStream is read for the first time.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_HttpBodyStream* httpBodyStreamArkWeb_HttpBodyStream.

Returns

TypeDescription
booltrue is returned if all data has been read. Otherwise, false is returned.

OH_ArkWebHttpBodyStream_IsInMemory()

bool OH_ArkWebHttpBodyStream_IsInMemory(const ArkWeb_HttpBodyStream* httpBodyStream)

Description

Determines whether all the uploaded data in httpBodyStream is in memory and all read requests are synchronized successfully. If yes, true is returned. false is returned if the data is chunked.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_HttpBodyStream* httpBodyStreamArkWeb_HttpBodyStream.

Returns

TypeDescription
booltrue is returned if all the uploaded data is stored in the memory. Otherwise, false is returned.

OH_ArkWebResourceRequest_Destroy()

int32_t OH_ArkWebResourceRequest_Destroy(const ArkWeb_ResourceRequest* resourceRequest)

Description

Destroys an ArkWeb_ResourceRequest object.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_ResourceRequest* resourceRequestArkWeb_ResourceRequest.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWebResourceRequest_GetReferrer()

void OH_ArkWebResourceRequest_GetReferrer(const ArkWeb_ResourceRequest* resourceRequest, char** referrer)

Description

Obtains the referrer of a request.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_ResourceRequest* resourceRequestArkWeb_ResourceRequest.
char** referrerreferrer of a request. This function allocates memory for the referrer string. You should use OH_ArkWeb_ReleaseString to release the string.

OH_ArkWebResourceRequest_GetRequestHeaders()

void OH_ArkWebResourceRequest_GetRequestHeaders(const ArkWeb_ResourceRequest* resourceRequest,ArkWeb_RequestHeaderList** requestHeaderList)

Description

Obtains an OH_ArkWeb_RequestHeaderList.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_ResourceRequest* resourceRequestArkWeb_ResourceRequest.
ArkWeb_RequestHeaderList** requestHeaderListList of request headers.

OH_ArkWebResourceRequest_IsRedirect()

bool OH_ArkWebResourceRequest_IsRedirect(const ArkWeb_ResourceRequest* resourceRequest)

Description

Determines whether a request is redirected.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_ResourceRequest* resourceRequestArkWeb_ResourceRequest.

Returns

TypeDescription
booltrue is returned if this request is redirected. Otherwise, false is returned.

OH_ArkWebResourceRequest_IsMainFrame()

bool OH_ArkWebResourceRequest_IsMainFrame(const ArkWeb_ResourceRequest* resourceRequest)

Description

Determines whether a request is from main frame.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_ResourceRequest* resourceRequestArkWeb_ResourceRequest.

Returns

TypeDescription
booltrue is returned if this request is from the main framework. Otherwise, false is returned.

OH_ArkWebResourceRequest_HasGesture()

bool OH_ArkWebResourceRequest_HasGesture(const ArkWeb_ResourceRequest* resourceRequest)

Description

Determines whether a request is triggered by a user gesture.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_ResourceRequest* resourceRequestArkWeb_ResourceRequest.

Returns

TypeDescription
booltrue is returned if this request is triggered by a user gesture. Otherwise, false is returned.

OH_ArkWeb_RegisterCustomSchemes()

int32_t OH_ArkWeb_RegisterCustomSchemes(const char* scheme, int32_t option)

Description

Registers a custom scheme with ArkWeb. This function should not be called for built-in HTTP, HTTPS, FILE, FTP, ABOUT, and DATA protocols. This function should be called on the main thread before kernel initialization.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const char* schemeScheme to be registered.
int32_t optionScheme options.

Returns

TypeDescription
int32_t0 is returned if the operation is successful. 17100100 is returned if an unknown error occurs. 17100101 is returned if the parameter is invalid. 17100102 is returned if the scheme configuration fails to be registered, which must be registered before the Web component is created.

OH_ArkWebServiceWorker_SetSchemeHandler()

bool OH_ArkWebServiceWorker_SetSchemeHandler(const char* scheme, ArkWeb_SchemeHandler* schemeHandler)

Description

Sets an ArkWeb_SchemeHandler for a specified scheme to intercept requests of the scheme type triggered by ServiceWorker. SchemeHandler should be set after BrowserContext is created.

You can use WebviewController.initializeWebEngine to initialize BrowserContext without creating the Web component.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const char* schemeScheme to be intercepted.
ArkWeb_SchemeHandler* schemeHandlerArkWeb_SchemeHandler of the scheme. Only requests triggered by ServiceWorker are notified through this schemeHandler.

Returns

TypeDescription
booltrue is returned if the SchemeHandler is successfully set for the specified scheme. Otherwise, false is returned.

OH_ArkWeb_SetSchemeHandler()

bool OH_ArkWeb_SetSchemeHandler(const char* scheme, const char* webTag, ArkWeb_SchemeHandler* schemeHandler)

Description

Sets an ArkWeb_SchemeHandler to intercept requests of a specified scheme type. SchemeHandler should be set after BrowserContext is created.

You can use WebviewController.initializeWebEngine to initialize BrowserContext without creating the Web component.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const char* schemeScheme to be intercepted.
const char* webTagTag that uniquely identifies a Web component. Ensure that it is unique.
ArkWeb_SchemeHandler* schemeHandlerArkWeb_SchemeHandler of the scheme. Only requests triggered from the specified web are notified through this SchemeHandler.

Returns

TypeDescription
booltrue is returned if the SchemeHandler is successfully set for the specified scheme. Otherwise, false is returned.

OH_ArkWebServiceWorker_ClearSchemeHandlers()

int32_t OH_ArkWebServiceWorker_ClearSchemeHandlers()

Description

Clears the SchemeHandler registered for ServiceWorker.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Returns

TypeDescription
int32_t0 is returned if the operation is successful.

OH_ArkWeb_ClearSchemeHandlers()

int32_t OH_ArkWeb_ClearSchemeHandlers(const char* webTag)

Description

Clears the SchemeHandler registered for the specified Web component.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const char* webTagTag that uniquely identifies a Web component. Ensure that it is unique.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWeb_CreateSchemeHandler()

void OH_ArkWeb_CreateSchemeHandler(ArkWeb_SchemeHandler** schemeHandler)

Description

Creates an ArkWeb_SchemeHandler object.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
ArkWeb_SchemeHandler** schemeHandlerA created ArkWeb_SchemeHandler. Use OH_ArkWeb_DestroyschemeHandler to destroy it when it is not required.

OH_ArkWeb_DestroySchemeHandler()

void OH_ArkWeb_DestroySchemeHandler(ArkWeb_SchemeHandler* schemeHandler)

Description

Destroys an ArkWeb_SchemeHandler object.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
ArkWeb_SchemeHandler* schemeHandlerThe ArkWeb_SchemeHandler to be destroyed.

OH_ArkWebSchemeHandler_SetUserData()

int32_t OH_ArkWebSchemeHandler_SetUserData(ArkWeb_SchemeHandler* schemeHandler, void* userData)

Description

Sets user data to the ArkWeb_SchemeHandler object.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
ArkWeb_SchemeHandler* schemeHandlerArkWeb_SchemeHandler.
void* userDataUser data to be set.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWebSchemeHandler_GetUserData()

void* OH_ArkWebSchemeHandler_GetUserData(const ArkWeb_SchemeHandler* schemeHandler)

Description

Obtains the user data from ArkWeb_SchemeHandler.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_SchemeHandler* schemeHandlerArkWeb_SchemeHandler.

Returns

TypeDescription
void*User data.

OH_ArkWebSchemeHandler_SetOnRequestStart()

int32_t OH_ArkWebSchemeHandler_SetOnRequestStart(ArkWeb_SchemeHandler* schemeHandler,ArkWeb_OnRequestStart onRequestStart)

Description

Sets an OnRequestStart callback for SchemeHandler.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
ArkWeb_SchemeHandler* schemeHandlerSchemeHandler of the scheme.
ArkWeb_OnRequestStart onRequestStartThe callback function OnRequestStart.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWebSchemeHandler_SetOnRequestStop()

int32_t OH_ArkWebSchemeHandler_SetOnRequestStop(ArkWeb_SchemeHandler* schemeHandler,ArkWeb_OnRequestStop onRequestStop)

Description

Sets an OnRequestStop callback for SchemeHandler.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
ArkWeb_SchemeHandler* schemeHandlerSchemeHandler of the scheme.
ArkWeb_OnRequestStop onRequestStopThe callback function OnRequestStop.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWeb_CreateResponse()

void OH_ArkWeb_CreateResponse(ArkWeb_Response** response)

Description

Creates an ArkWeb_Response object for the intercepted request.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
ArkWeb_Response** responseA created ArkWeb_Response. Use OH_ArkWeb_DestroyResponse to destroy it when it is not required.

OH_ArkWeb_DestroyResponse()

void OH_ArkWeb_DestroyResponse(ArkWeb_Response* response)

Description

Destroys an ArkWeb_Response object.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
ArkWeb_Response* responseThe ArkWeb_Response to be destroyed.

OH_ArkWebResponse_SetUrl()

int32_t OH_ArkWebResponse_SetUrl(ArkWeb_Response* response, const char* url)

Description

Sets a parsed URL that has been redirected or changed due to HSTS. After the setting, redirection is triggered.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
ArkWeb_Response* responseArkWeb_Response.
const char* urlParsed URL.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWebResponse_GetUrl()

void OH_ArkWebResponse_GetUrl(const ArkWeb_Response* response, char** url)

Description

Obtains the parsed URL that has been redirected or changed due to HSTS.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_Response* responseArkWeb_Response.
char** urlParsed URL.

OH_ArkWebResponse_SetError()

int32_t OH_ArkWebResponse_SetError(ArkWeb_Response* response, ArkWeb_NetError errorCode)

Description

Sets an error code for the ArkWeb_Response object.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
ArkWeb_Response* responseArkWeb_Response.
ArkWeb_NetError errorCodeError code of the failed request.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWebResponse_GetError()

ArkWeb_NetError OH_ArkWebResponse_GetError(const ArkWeb_Response* response)

Description

Obtains the error code of ArkWeb_Response.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_Response* responseArkWeb_Response.

Returns

TypeDescription
ArkWeb_NetErrorError code of ArkWeb_Response.

OH_ArkWebResponse_SetStatus()

int32_t OH_ArkWebResponse_SetStatus(ArkWeb_Response* response, int status)

Description

Sets an HTTP status code for ArkWeb_Response.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
ArkWeb_Response* responseArkWeb_Response.
int statusHTTP status code of the request.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWebResponse_GetStatus()

int OH_ArkWebResponse_GetStatus(const ArkWeb_Response* response)

Description

Obtains the HTTP status code of ArkWeb_Response.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_Response* responseArkWeb_Response.

Returns

TypeDescription
intHTTP status code of ArkWeb_Response. If ArkWeb_Response is invalid, the value is -1.

OH_ArkWebResponse_SetStatusText()

int32_t OH_ArkWebResponse_SetStatusText(ArkWeb_Response* response, const char* statusText)

Description

Sets a status text for ArkWeb_Response.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
ArkWeb_Response* responseArkWeb_Response.
const char* statusTextStatus text of the request.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWebResponse_GetStatusText()

void OH_ArkWebResponse_GetStatusText(const ArkWeb_Response* response, char** statusText)

Description

Obtains the status text of ArkWeb_Response.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_Response* responseArkWeb_Response.
char** statusTextStatus text of ArkWeb_Response. This function allocates memory for the statusText string. You need to release the string using OH_ArkWeb_ReleaseString.

OH_ArkWebResponse_SetMimeType()

int32_t OH_ArkWebResponse_SetMimeType(ArkWeb_Response* response, const char* mimeType)

Description

Sets a mime type for ArkWeb_Response.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
ArkWeb_Response* responseArkWeb_Response.
const char* mimeTypeMime type of the request.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWebResponse_GetMimeType()

void OH_ArkWebResponse_GetMimeType(const ArkWeb_Response* response, char** mimeType)

Description

Obtains the mime type of ArkWeb_Response.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_Response* responseArkWeb_Response.
char** mimeTypeMime type of ArkWeb_Response. This function allocates memory for the mimeType string. You need to release the string using OH_ArkWeb_ReleaseString.

OH_ArkWebResponse_SetCharset()

int32_t OH_ArkWebResponse_SetCharset(ArkWeb_Response* response, const char* charset)

Description

Sets a character set for ArkWeb_Response.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
ArkWeb_Response* responseArkWeb_Response.
const char* charsetCharacter set of the request.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWebResponse_GetCharset()

void OH_ArkWebResponse_GetCharset(const ArkWeb_Response* response, char** charset)

Description

Obtains the character set of ArkWeb_Response.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_Response* responseArkWeb_Response.
char** charsetCharacter set of ArkWeb_Response. This function allocates memory for the charset string. You need to release the string using OH_ArkWeb_ReleaseString.

OH_ArkWebResponse_SetHeaderByName()

int32_t OH_ArkWebResponse_SetHeaderByName(ArkWeb_Response* response,const char* name,const char* value,bool overwrite)

Description

Sets a header for ArkWeb_Response.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
ArkWeb_Response* responseArkWeb_Response.
const char* nameName of the header.
const char* valueValue of the header.
bool overwriteWhether to overwrite the existing header. The value true means to overwrite the existing header, and false means the opposite.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWebResponse_GetHeaderByName()

void OH_ArkWebResponse_GetHeaderByName(const ArkWeb_Response* response, const char* name, char** value)

Description

Obtains the header from ArkWeb_Response.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_Response* responseArkWeb_Response.
const char* nameName of the header.
char** valueValue of the header. This function allocates memory for the **value **string. You need to release the string using OH_ArkWeb_ReleaseString.

OH_ArkWebResourceHandler_Destroy()

int32_t OH_ArkWebResourceHandler_Destroy(const ArkWeb_ResourceHandler* resourceHandler)

Description

Destroys an ArkWeb_ResourceHandler object.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_ResourceHandler* resourceHandlerArkWeb_ResourceHandler.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWebResourceHandler_DidReceiveResponse()

int32_t OH_ArkWebResourceHandler_DidReceiveResponse(const ArkWeb_ResourceHandler* resourceHandler,const ArkWeb_Response* response)

Description

Sends a response header to the intercepted request.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_ResourceHandler* resourceHandlerArkWeb_ResourceHandler of the request.
const ArkWeb_Response* responseArkWeb_Response of the intercepted request.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWebResourceHandler_DidReceiveData()

int32_t OH_ArkWebResourceHandler_DidReceiveData(const ArkWeb_ResourceHandler* resourceHandler,const uint8_t* buffer,int64_t bufLen)

Description

Sends a response body to the intercepted request.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_ResourceHandler* resourceHandlerArkWeb_ResourceHandler of the request.
const uint8_t* bufferBuffer data to be sent.
int64_t bufLenBuffer size.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWebResourceHandler_DidFinish()

int32_t OH_ArkWebResourceHandler_DidFinish(const ArkWeb_ResourceHandler* resourceHandler)

Description

Notifies the ArkWeb kernel that the intercepted request has been finished and that no more data is available.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_ResourceHandler* resourceHandlerArkWeb_ResourceHandler of the request.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWebResourceHandler_DidFailWithError()

int32_t OH_ArkWebResourceHandler_DidFailWithError(const ArkWeb_ResourceHandler* resourceHandler,ArkWeb_NetError errorCode)

Description

Notifies the ArkWeb kernel that the intercepted request fails.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
const ArkWeb_ResourceHandler* resourceHandlerHandler for intercepted URL requests. You can use ArkWeb_ResourceHandler to send custom request headers and bodies.
ArkWeb_NetError errorCodeError code of the request. For details, see arkweb_net_error_list.h.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWebResourceHandler_DidFailWithErrorV2()

int32_t OH_ArkWebResourceHandler_DidFailWithErrorV2(const ArkWeb_ResourceHandler* resourceHandler,ArkWeb_NetError errorCode,bool completeIfNoResponse)

Description

Notifies the ArkWeb kernel that the intercepted request fails. Compared with the OH_ArkWebResourceHandler_DidFailWithError API, the completeIfNoResponse parameter is added. With this parameter set to true, if OH_ArkWebResourceHandler_DidReceiveResponse has not been called, a response is automatically generated to complete the network request and the network error code is -104. With this parameter set to false, the system waits for the application to call OH_ArkWebResourceHandler_DidReceiveResponse and pass the response.

System capability: SystemCapability.Web.Webview.Core

Since: 20

Parameters

NameDescription
const ArkWeb_ResourceHandler* resourceHandlerHandler for intercepted URL requests. You can use ArkWeb_ResourceHandler to send custom request headers and bodies.
ArkWeb_NetError errorCodeError code of the request. For details, see arkweb_net_error_list.h.
bool completeIfNoResponseWhether the network request is complete when OH_ArkWebResourceHandler_DidFailWithErrorV2 is called if OH_ArkWebResourceHandler_DidReceiveResponse is not called before. If the value is true and OH_ArkWebResourceHandler_DidReceiveResponse is not called before, a response is automatically generated to complete the network request, and the network error code is -104. If the value is false, the system waits for the application to call OH_ArkWebResourceHandler_DidReceiveResponse and pass the response.

Returns

TypeDescription
int32_t0 is returned when the operation is successful; 17100101 is returned when the parameter is invalid.

OH_ArkWeb_ReleaseString()

void OH_ArkWeb_ReleaseString(char* string)

Description

Releases the string created by NDK APIs.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
char* stringString to be released.

OH_ArkWeb_ReleaseByteArray()

void OH_ArkWeb_ReleaseByteArray(uint8_t* byteArray)

Description

Releases the byte array created by NDK APIs.

System capability: SystemCapability.Web.Webview.Core

Since: 12

Parameters

NameDescription
uint8_t* byteArrayByte array to be released.

你可能感兴趣的鸿蒙文章

openharmony 鸿蒙 arkts-apis-webview-WebviewController

openharmony 鸿蒙 arkts-apis-webview-t

openharmony 鸿蒙 arkts-apis-webview

openharmony 鸿蒙 capi-arkweb-type-h

openharmony 鸿蒙 arkts-basic-components-web-FullScreenExitHandler

openharmony 鸿蒙 arkts-apis-webview-WebDownloadManager

openharmony 鸿蒙 arkts-basic-components-web-VerifyPinHandler

openharmony 鸿蒙 capi-web-arkweb-webmessage8h

openharmony 鸿蒙 arkts-apis-webview-NativeMediaPlayerHandler

openharmony 鸿蒙 capi-web-arkweb-proxymethodwithresult

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/jYR2bfP2