FetchDomain

A domain for letting clients substitute browser's network layer with client code.

Official doc

Functions

Link copied to clipboard
Link copied to clipboard

Issued when the domain is enabled with handleAuthRequests set to true. The request is paused until client responds with continueWithAuth.

Link copied to clipboard
inline suspend fun continueRequest(requestId: RequestId, optionalArgs: ContinueRequestRequest.Builder.() -> Unit = {}): ContinueRequestResponse

Continues the request, optionally modifying some of its parameters.

Link copied to clipboard

Continues loading of the paused response, optionally modifying the response headers. If either responseCode or headers are modified, all of them must be present.

Link copied to clipboard
suspend fun continueWithAuth(requestId: RequestId, authChallengeResponse: AuthChallengeResponse): ContinueWithAuthResponse

Continues a request supplying authChallengeResponse following authRequired event.

Link copied to clipboard
suspend fun disable(): DisableResponse

Disables the fetch domain.

Link copied to clipboard
inline suspend fun enable(optionalArgs: EnableRequest.Builder.() -> Unit = {}): EnableResponse
suspend fun enable(input: EnableRequest): EnableResponse

Enables issuing of requestPaused events. A request will be paused until client calls one of failRequest, fulfillRequest or continueRequest/continueWithAuth.

Link copied to clipboard
fun events(): Flow<FetchEvent>

Subscribes to all events related to this domain.

Link copied to clipboard
suspend fun failRequest(requestId: RequestId, errorReason: ErrorReason): FailRequestResponse

Causes the request to fail with specified reason.

Link copied to clipboard
inline suspend fun fulfillRequest(requestId: RequestId, responseCode: Int, optionalArgs: FulfillRequestRequest.Builder.() -> Unit = {}): FulfillRequestResponse

Provides response to the request.

Link copied to clipboard

Causes the body of the response to be received from the server and returned as a single string. May only be issued for a request that is paused in the Response stage and is mutually exclusive with takeResponseBodyForInterceptionAsStream. Calling other methods that affect the request or disabling fetch domain before body is received results in an undefined behavior.

Link copied to clipboard
Link copied to clipboard

Issued when the domain is enabled and the request URL matches the specified filter. The request is paused until the client responds with one of continueRequest, failRequest or fulfillRequest. The stage of the request can be determined by presence of responseErrorReason and responseStatusCode -- the request is at the response stage if either of these fields is present and in the request stage otherwise.

Link copied to clipboard

Returns a handle to the stream representing the response body. The request must be paused in the HeadersReceived stage. Note that after this command the request can't be continued as is -- client either needs to cancel it or to provide the response body. The stream only supports sequential read, IO.read will fail if the position is specified. This method is mutually exclusive with getResponseBody. Calling other methods that affect the request or disabling fetch domain before body is received results in an undefined behavior.