252 lines
11 KiB
Plaintext
252 lines
11 KiB
Plaintext
# Copyright 2017 The Chromium Authors
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
#
|
|
# Contributing to Chrome DevTools Protocol: https://goo.gle/devtools-contribution-guide-cdp
|
|
|
|
# A domain for letting clients substitute browser's network layer with client code.
|
|
domain Fetch
|
|
depends on Network
|
|
depends on IO
|
|
depends on Page
|
|
|
|
# Unique request identifier.
|
|
# Note that this does not identify individual HTTP requests that are part of
|
|
# a network request.
|
|
type RequestId extends string
|
|
|
|
# Stages of the request to handle. Request will intercept before the request is
|
|
# sent. Response will intercept after the response is received (but before response
|
|
# body is received).
|
|
type RequestStage extends string
|
|
enum
|
|
Request
|
|
Response
|
|
|
|
type RequestPattern extends object
|
|
properties
|
|
# Wildcards (`'*'` -> zero or more, `'?'` -> exactly one) are allowed. Escape character is
|
|
# backslash. Omitting is equivalent to `"*"`.
|
|
optional string urlPattern
|
|
# If set, only requests for matching resource types will be intercepted.
|
|
optional Network.ResourceType resourceType
|
|
# Stage at which to begin intercepting requests. Default is Request.
|
|
optional RequestStage requestStage
|
|
|
|
# Response HTTP header entry
|
|
type HeaderEntry extends object
|
|
properties
|
|
string name
|
|
string value
|
|
|
|
# Authorization challenge for HTTP status code 401 or 407.
|
|
type AuthChallenge extends object
|
|
properties
|
|
# Source of the authentication challenge.
|
|
optional enum source
|
|
Server
|
|
Proxy
|
|
# Origin of the challenger.
|
|
string origin
|
|
# The authentication scheme used, such as basic or digest
|
|
string scheme
|
|
# The realm of the challenge. May be empty.
|
|
string realm
|
|
|
|
# Response to an AuthChallenge.
|
|
type AuthChallengeResponse extends object
|
|
properties
|
|
# The decision on what to do in response to the authorization challenge. Default means
|
|
# deferring to the default behavior of the net stack, which will likely either the Cancel
|
|
# authentication or display a popup dialog box.
|
|
enum response
|
|
Default
|
|
CancelAuth
|
|
ProvideCredentials
|
|
# The username to provide, possibly empty. Should only be set if response is
|
|
# ProvideCredentials.
|
|
optional string username
|
|
# The password to provide, possibly empty. Should only be set if response is
|
|
# ProvideCredentials.
|
|
optional string password
|
|
|
|
# Disables the fetch domain.
|
|
command disable
|
|
|
|
# Enables issuing of requestPaused events. A request will be paused until client
|
|
# calls one of failRequest, fulfillRequest or continueRequest/continueWithAuth.
|
|
command enable
|
|
parameters
|
|
# If specified, only requests matching any of these patterns will produce
|
|
# fetchRequested event and will be paused until clients response. If not set,
|
|
# all requests will be affected.
|
|
optional array of RequestPattern patterns
|
|
# If true, authRequired events will be issued and requests will be paused
|
|
# expecting a call to continueWithAuth.
|
|
optional boolean handleAuthRequests
|
|
|
|
# Causes the request to fail with specified reason.
|
|
command failRequest
|
|
parameters
|
|
# An id the client received in requestPaused event.
|
|
RequestId requestId
|
|
# Causes the request to fail with the given reason.
|
|
Network.ErrorReason errorReason
|
|
|
|
# Provides response to the request.
|
|
command fulfillRequest
|
|
parameters
|
|
# An id the client received in requestPaused event.
|
|
RequestId requestId
|
|
# An HTTP response code.
|
|
integer responseCode
|
|
# Response headers.
|
|
optional array of HeaderEntry responseHeaders
|
|
# Alternative way of specifying response headers as a \0-separated
|
|
# series of name: value pairs. Prefer the above method unless you
|
|
# need to represent some non-UTF8 values that can't be transmitted
|
|
# over the protocol as text.
|
|
optional binary binaryResponseHeaders
|
|
# A response body. If absent, original response body will be used if
|
|
# the request is intercepted at the response stage and empty body
|
|
# will be used if the request is intercepted at the request stage.
|
|
optional binary body
|
|
# A textual representation of responseCode.
|
|
# If absent, a standard phrase matching responseCode is used.
|
|
optional string responsePhrase
|
|
|
|
# Continues the request, optionally modifying some of its parameters.
|
|
command continueRequest
|
|
parameters
|
|
# An id the client received in requestPaused event.
|
|
RequestId requestId
|
|
# If set, the request url will be modified in a way that's not observable by page.
|
|
optional string url
|
|
# If set, the request method is overridden.
|
|
optional string method
|
|
# If set, overrides the post data in the request.
|
|
optional binary postData
|
|
# If set, overrides the request headers. Note that the overrides do not
|
|
# extend to subsequent redirect hops, if a redirect happens. Another override
|
|
# may be applied to a different request produced by a redirect.
|
|
optional array of HeaderEntry headers
|
|
# If set, overrides response interception behavior for this request.
|
|
experimental optional boolean interceptResponse
|
|
|
|
# Continues a request supplying authChallengeResponse following authRequired event.
|
|
command continueWithAuth
|
|
parameters
|
|
# An id the client received in authRequired event.
|
|
RequestId requestId
|
|
# Response to with an authChallenge.
|
|
AuthChallengeResponse authChallengeResponse
|
|
|
|
# Continues loading of the paused response, optionally modifying the
|
|
# response headers. If either responseCode or headers are modified, all of them
|
|
# must be present.
|
|
experimental command continueResponse
|
|
parameters
|
|
# An id the client received in requestPaused event.
|
|
RequestId requestId
|
|
# An HTTP response code. If absent, original response code will be used.
|
|
optional integer responseCode
|
|
# A textual representation of responseCode.
|
|
# If absent, a standard phrase matching responseCode is used.
|
|
optional string responsePhrase
|
|
# Response headers. If absent, original response headers will be used.
|
|
optional array of HeaderEntry responseHeaders
|
|
# Alternative way of specifying response headers as a \0-separated
|
|
# series of name: value pairs. Prefer the above method unless you
|
|
# need to represent some non-UTF8 values that can't be transmitted
|
|
# over the protocol as text.
|
|
optional binary binaryResponseHeaders
|
|
|
|
# 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.
|
|
command getResponseBody
|
|
parameters
|
|
# Identifier for the intercepted request to get body for.
|
|
RequestId requestId
|
|
returns
|
|
# Response body.
|
|
string body
|
|
# True, if content was sent as base64.
|
|
boolean base64Encoded
|
|
|
|
# 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.
|
|
command takeResponseBodyAsStream
|
|
parameters
|
|
RequestId requestId
|
|
returns
|
|
IO.StreamHandle stream
|
|
|
|
# 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.
|
|
event requestPaused
|
|
parameters
|
|
# Each request the page makes will have a unique id.
|
|
RequestId requestId
|
|
# The details of the request.
|
|
Network.Request request
|
|
# The id of the frame that initiated the request.
|
|
Page.FrameId frameId
|
|
# How the requested resource will be used.
|
|
Network.ResourceType resourceType
|
|
# Response error if intercepted at response stage.
|
|
optional Network.ErrorReason responseErrorReason
|
|
# Response code if intercepted at response stage.
|
|
optional integer responseStatusCode
|
|
# Response status text if intercepted at response stage.
|
|
optional string responseStatusText
|
|
# Response headers if intercepted at the response stage.
|
|
optional array of HeaderEntry responseHeaders
|
|
# If the intercepted request had a corresponding Network.requestWillBeSent event fired for it,
|
|
# then this networkId will be the same as the requestId present in the requestWillBeSent event.
|
|
optional Network.RequestId networkId
|
|
# If the request is due to a redirect response from the server, the id of the request that
|
|
# has caused the redirect.
|
|
experimental optional RequestId redirectedRequestId
|
|
|
|
# Issued when the domain is enabled with handleAuthRequests set to true.
|
|
# The request is paused until client responds with continueWithAuth.
|
|
event authRequired
|
|
parameters
|
|
# Each request the page makes will have a unique id.
|
|
RequestId requestId
|
|
# The details of the request.
|
|
Network.Request request
|
|
# The id of the frame that initiated the request.
|
|
Page.FrameId frameId
|
|
# How the requested resource will be used.
|
|
Network.ResourceType resourceType
|
|
# Details of the Authorization Challenge encountered.
|
|
# If this is set, client should respond with continueRequest that
|
|
# contains AuthChallengeResponse.
|
|
AuthChallenge authChallenge
|