Table of Contents

Class FetchAdapter

Namespace
OpenQA.Selenium.DevTools.V147.Fetch
Assembly
Selenium.WebDriver.dll

Represents an adapter for the Fetch domain to simplify the command interface.

public class FetchAdapter
Inheritance
FetchAdapter
Inherited Members

Constructors

FetchAdapter(IDevToolsSession)

Initializes a new instance of the FetchAdapter class.

public FetchAdapter(IDevToolsSession session)

Parameters

session IDevToolsSession

The IDevToolsSession to be used with this adapter.

Exceptions

ArgumentNullException

If session is null.

Properties

Session

Gets the DevToolsSession associated with the adapter.

public IDevToolsSession Session { get; }

Property Value

IDevToolsSession

Methods

ContinueRequest(ContinueRequestCommandSettings, CancellationToken, int?, bool)

Continues the request, optionally modifying some of its parameters.

public Task<ContinueRequestCommandResponse?> ContinueRequest(ContinueRequestCommandSettings command, CancellationToken cancellationToken = default, int? millisecondsTimeout = null, bool throwExceptionIfResponseNotReceived = true)

Parameters

command ContinueRequestCommandSettings
cancellationToken CancellationToken
millisecondsTimeout int?
throwExceptionIfResponseNotReceived bool

Returns

Task<ContinueRequestCommandResponse>

ContinueResponse(ContinueResponseCommandSettings, CancellationToken, int?, bool)

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

public Task<ContinueResponseCommandResponse?> ContinueResponse(ContinueResponseCommandSettings command, CancellationToken cancellationToken = default, int? millisecondsTimeout = null, bool throwExceptionIfResponseNotReceived = true)

Parameters

command ContinueResponseCommandSettings
cancellationToken CancellationToken
millisecondsTimeout int?
throwExceptionIfResponseNotReceived bool

Returns

Task<ContinueResponseCommandResponse>

ContinueWithAuth(ContinueWithAuthCommandSettings, CancellationToken, int?, bool)

Continues a request supplying authChallengeResponse following authRequired event.

public Task<ContinueWithAuthCommandResponse?> ContinueWithAuth(ContinueWithAuthCommandSettings command, CancellationToken cancellationToken = default, int? millisecondsTimeout = null, bool throwExceptionIfResponseNotReceived = true)

Parameters

command ContinueWithAuthCommandSettings
cancellationToken CancellationToken
millisecondsTimeout int?
throwExceptionIfResponseNotReceived bool

Returns

Task<ContinueWithAuthCommandResponse>

Disable(DisableCommandSettings?, CancellationToken, int?, bool)

Disables the fetch domain.

public Task<DisableCommandResponse?> Disable(DisableCommandSettings? command = null, CancellationToken cancellationToken = default, int? millisecondsTimeout = null, bool throwExceptionIfResponseNotReceived = true)

Parameters

command DisableCommandSettings
cancellationToken CancellationToken
millisecondsTimeout int?
throwExceptionIfResponseNotReceived bool

Returns

Task<DisableCommandResponse>

Enable(EnableCommandSettings, CancellationToken, int?, bool)

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

public Task<EnableCommandResponse?> Enable(EnableCommandSettings command, CancellationToken cancellationToken = default, int? millisecondsTimeout = null, bool throwExceptionIfResponseNotReceived = true)

Parameters

command EnableCommandSettings
cancellationToken CancellationToken
millisecondsTimeout int?
throwExceptionIfResponseNotReceived bool

Returns

Task<EnableCommandResponse>

FailRequest(FailRequestCommandSettings, CancellationToken, int?, bool)

Causes the request to fail with specified reason.

public Task<FailRequestCommandResponse?> FailRequest(FailRequestCommandSettings command, CancellationToken cancellationToken = default, int? millisecondsTimeout = null, bool throwExceptionIfResponseNotReceived = true)

Parameters

command FailRequestCommandSettings
cancellationToken CancellationToken
millisecondsTimeout int?
throwExceptionIfResponseNotReceived bool

Returns

Task<FailRequestCommandResponse>

FulfillRequest(FulfillRequestCommandSettings, CancellationToken, int?, bool)

Provides response to the request.

public Task<FulfillRequestCommandResponse?> FulfillRequest(FulfillRequestCommandSettings command, CancellationToken cancellationToken = default, int? millisecondsTimeout = null, bool throwExceptionIfResponseNotReceived = true)

Parameters

command FulfillRequestCommandSettings
cancellationToken CancellationToken
millisecondsTimeout int?
throwExceptionIfResponseNotReceived bool

Returns

Task<FulfillRequestCommandResponse>

GetResponseBody(GetResponseBodyCommandSettings, CancellationToken, int?, bool)

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. Note that the response body is not available for redirects. Requests paused in the redirect received state may be differentiated by responseCode and presence of location response header, see comments to requestPaused for details.

public Task<GetResponseBodyCommandResponse> GetResponseBody(GetResponseBodyCommandSettings command, CancellationToken cancellationToken = default, int? millisecondsTimeout = null, bool throwExceptionIfResponseNotReceived = true)

Parameters

command GetResponseBodyCommandSettings
cancellationToken CancellationToken
millisecondsTimeout int?
throwExceptionIfResponseNotReceived bool

Returns

Task<GetResponseBodyCommandResponse>

TakeResponseBodyAsStream(TakeResponseBodyAsStreamCommandSettings, CancellationToken, int?, bool)

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.

public Task<TakeResponseBodyAsStreamCommandResponse> TakeResponseBodyAsStream(TakeResponseBodyAsStreamCommandSettings command, CancellationToken cancellationToken = default, int? millisecondsTimeout = null, bool throwExceptionIfResponseNotReceived = true)

Parameters

command TakeResponseBodyAsStreamCommandSettings
cancellationToken CancellationToken
millisecondsTimeout int?
throwExceptionIfResponseNotReceived bool

Returns

Task<TakeResponseBodyAsStreamCommandResponse>

Events

AuthRequired

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

public event EventHandler<AuthRequiredEventArgs>? AuthRequired

Event Type

EventHandler<AuthRequiredEventArgs>

RequestPaused

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. Redirect responses and subsequent requests are reported similarly to regular responses and requests. Redirect responses may be distinguished by the value of responseStatusCode (which is one of 301, 302, 303, 307, 308) along with presence of the location header. Requests resulting from a redirect will have redirectedRequestId field set.

public event EventHandler<RequestPausedEventArgs>? RequestPaused

Event Type

EventHandler<RequestPausedEventArgs>