fetch

package
v0.21.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 10, 2019 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package fetch implements the Fetch domain. A domain for letting clients substitute browser's network layer with client code.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewClient

func NewClient(conn *rpcc.Conn) *domainClient

NewClient returns a client for the Fetch domain with the connection set to conn.

Types

type AuthChallenge

type AuthChallenge struct {
	// Source Source of the authentication challenge.
	//
	// Values: "Server", "Proxy".
	Source *string `json:"source,omitempty"`
	Origin string  `json:"origin"` // Origin of the challenger.
	Scheme string  `json:"scheme"` // The authentication scheme used, such as basic or digest
	Realm  string  `json:"realm"`  // The realm of the challenge. May be empty.
}

AuthChallenge Authorization challenge for HTTP status code 401 or 407.

Note: This type is experimental.

type AuthChallengeResponse

type AuthChallengeResponse struct {
	// Response 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.
	//
	// Values: "Default", "CancelAuth", "ProvideCredentials".
	Response string  `json:"response"`
	Username *string `json:"username,omitempty"` // The username to provide, possibly empty. Should only be set if response is ProvideCredentials.
	Password *string `json:"password,omitempty"` // The password to provide, possibly empty. Should only be set if response is ProvideCredentials.
}

AuthChallengeResponse Response to an AuthChallenge.

Note: This type is experimental.

type AuthRequiredClient

type AuthRequiredClient interface {
	// Recv calls RecvMsg on rpcc.Stream, blocks until the event is
	// triggered, context canceled or connection closed.
	Recv() (*AuthRequiredReply, error)
	rpcc.Stream
}

AuthRequiredClient is a client for AuthRequired events. Issued when the domain is enabled with handleAuthRequests set to true. The request is paused until client responds with continueWithAuth.

type AuthRequiredReply

type AuthRequiredReply struct {
	RequestID     RequestID            `json:"requestId"`     // Each request the page makes will have a unique id.
	Request       network.Request      `json:"request"`       // The details of the request.
	FrameID       page.FrameID         `json:"frameId"`       // The id of the frame that initiated the request.
	ResourceType  network.ResourceType `json:"resourceType"`  // How the requested resource will be used.
	AuthChallenge AuthChallenge        `json:"authChallenge"` // Details of the Authorization Challenge encountered. If this is set, client should respond with continueRequest that contains AuthChallengeResponse.
}

AuthRequiredReply is the reply for AuthRequired events.

type ContinueRequestArgs

type ContinueRequestArgs struct {
	RequestID RequestID     `json:"requestId"`          // An id the client received in requestPaused event.
	URL       *string       `json:"url,omitempty"`      // If set, the request url will be modified in a way that's not observable by page.
	Method    *string       `json:"method,omitempty"`   // If set, the request method is overridden.
	PostData  *string       `json:"postData,omitempty"` // If set, overrides the post data in the request.
	Headers   []HeaderEntry `json:"headers,omitempty"`  // If set, overrides the request headrts.
}

ContinueRequestArgs represents the arguments for ContinueRequest in the Fetch domain.

func NewContinueRequestArgs

func NewContinueRequestArgs(requestID RequestID) *ContinueRequestArgs

NewContinueRequestArgs initializes ContinueRequestArgs with the required arguments.

func (*ContinueRequestArgs) SetHeaders

func (a *ContinueRequestArgs) SetHeaders(headers []HeaderEntry) *ContinueRequestArgs

SetHeaders sets the Headers optional argument. If set, overrides the request headrts.

func (*ContinueRequestArgs) SetMethod

func (a *ContinueRequestArgs) SetMethod(method string) *ContinueRequestArgs

SetMethod sets the Method optional argument. If set, the request method is overridden.

func (*ContinueRequestArgs) SetPostData

func (a *ContinueRequestArgs) SetPostData(postData string) *ContinueRequestArgs

SetPostData sets the PostData optional argument. If set, overrides the post data in the request.

func (*ContinueRequestArgs) SetURL

SetURL sets the URL optional argument. If set, the request url will be modified in a way that's not observable by page.

type ContinueWithAuthArgs

type ContinueWithAuthArgs struct {
	RequestID             RequestID             `json:"requestId"`             // An id the client received in authRequired event.
	AuthChallengeResponse AuthChallengeResponse `json:"authChallengeResponse"` // Response to with an authChallenge.
}

ContinueWithAuthArgs represents the arguments for ContinueWithAuth in the Fetch domain.

func NewContinueWithAuthArgs

func NewContinueWithAuthArgs(requestID RequestID, authChallengeResponse AuthChallengeResponse) *ContinueWithAuthArgs

NewContinueWithAuthArgs initializes ContinueWithAuthArgs with the required arguments.

type EnableArgs

type EnableArgs struct {
	Patterns           []RequestPattern `json:"patterns,omitempty"`           // 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.
	HandleAuthRequests *bool            `json:"handleAuthRequests,omitempty"` // If true, authRequired events will be issued and requests will be paused expecting a call to continueWithAuth.
}

EnableArgs represents the arguments for Enable in the Fetch domain.

func NewEnableArgs

func NewEnableArgs() *EnableArgs

NewEnableArgs initializes EnableArgs with the required arguments.

func (*EnableArgs) SetHandleAuthRequests

func (a *EnableArgs) SetHandleAuthRequests(handleAuthRequests bool) *EnableArgs

SetHandleAuthRequests sets the HandleAuthRequests optional argument. If true, authRequired events will be issued and requests will be paused expecting a call to continueWithAuth.

func (*EnableArgs) SetPatterns

func (a *EnableArgs) SetPatterns(patterns []RequestPattern) *EnableArgs

SetPatterns sets the Patterns optional argument. 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.

type FailRequestArgs

type FailRequestArgs struct {
	RequestID   RequestID           `json:"requestId"`   // An id the client received in requestPaused event.
	ErrorReason network.ErrorReason `json:"errorReason"` // Causes the request to fail with the given reason.
}

FailRequestArgs represents the arguments for FailRequest in the Fetch domain.

func NewFailRequestArgs

func NewFailRequestArgs(requestID RequestID, errorReason network.ErrorReason) *FailRequestArgs

NewFailRequestArgs initializes FailRequestArgs with the required arguments.

type FulfillRequestArgs

type FulfillRequestArgs struct {
	RequestID       RequestID     `json:"requestId"`                // An id the client received in requestPaused event.
	ResponseCode    int           `json:"responseCode"`             // An HTTP response code.
	ResponseHeaders []HeaderEntry `json:"responseHeaders"`          // Response headers.
	Body            *string       `json:"body,omitempty"`           // A response body.
	ResponsePhrase  *string       `json:"responsePhrase,omitempty"` // A textual representation of responseCode. If absent, a standard phrase mathcing responseCode is used.
}

FulfillRequestArgs represents the arguments for FulfillRequest in the Fetch domain.

func NewFulfillRequestArgs

func NewFulfillRequestArgs(requestID RequestID, responseCode int, responseHeaders []HeaderEntry) *FulfillRequestArgs

NewFulfillRequestArgs initializes FulfillRequestArgs with the required arguments.

func (*FulfillRequestArgs) SetBody

func (a *FulfillRequestArgs) SetBody(body string) *FulfillRequestArgs

SetBody sets the Body optional argument. A response body.

func (*FulfillRequestArgs) SetResponsePhrase

func (a *FulfillRequestArgs) SetResponsePhrase(responsePhrase string) *FulfillRequestArgs

SetResponsePhrase sets the ResponsePhrase optional argument. A textual representation of responseCode. If absent, a standard phrase mathcing responseCode is used.

type GetResponseBodyArgs

type GetResponseBodyArgs struct {
	RequestID RequestID `json:"requestId"` // Identifier for the intercepted request to get body for.
}

GetResponseBodyArgs represents the arguments for GetResponseBody in the Fetch domain.

func NewGetResponseBodyArgs

func NewGetResponseBodyArgs(requestID RequestID) *GetResponseBodyArgs

NewGetResponseBodyArgs initializes GetResponseBodyArgs with the required arguments.

type GetResponseBodyReply

type GetResponseBodyReply struct {
	Body          string `json:"body"`          // Response body.
	Base64Encoded bool   `json:"base64Encoded"` // True, if content was sent as base64.
}

GetResponseBodyReply represents the return values for GetResponseBody in the Fetch domain.

type HeaderEntry

type HeaderEntry struct {
	Name  string `json:"name"`  // No description.
	Value string `json:"value"` // No description.
}

HeaderEntry Response HTTP header entry

type RequestID

type RequestID string

RequestID Unique request identifier.

type RequestPattern

type RequestPattern struct {
	URLPattern   *string               `json:"urlPattern,omitempty"`   // Wildcards ('*' -> zero or more, '?' -> exactly one) are allowed. Escape character is backslash. Omitting is equivalent to "*".
	ResourceType *network.ResourceType `json:"resourceType,omitempty"` // If set, only requests for matching resource types will be intercepted.
	RequestStage RequestStage          `json:"requestStage,omitempty"` // Stage at which to begin intercepting requests. Default is Request.
}

RequestPattern

Note: This type is experimental.

type RequestPausedClient

type RequestPausedClient interface {
	// Recv calls RecvMsg on rpcc.Stream, blocks until the event is
	// triggered, context canceled or connection closed.
	Recv() (*RequestPausedReply, error)
	rpcc.Stream
}

RequestPausedClient is a client for RequestPaused events. 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.

type RequestPausedReply

type RequestPausedReply struct {
	RequestID           RequestID            `json:"requestId"`                     // Each request the page makes will have a unique id.
	Request             network.Request      `json:"request"`                       // The details of the request.
	FrameID             page.FrameID         `json:"frameId"`                       // The id of the frame that initiated the request.
	ResourceType        network.ResourceType `json:"resourceType"`                  // How the requested resource will be used.
	ResponseErrorReason *network.ErrorReason `json:"responseErrorReason,omitempty"` // Response error if intercepted at response stage.
	ResponseStatusCode  *int                 `json:"responseStatusCode,omitempty"`  // Response code if intercepted at response stage.
	ResponseHeaders     []HeaderEntry        `json:"responseHeaders,omitempty"`     // Response headers if intercepted at the response stage.
}

RequestPausedReply is the reply for RequestPaused events.

type RequestStage

type RequestStage string

RequestStage 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.

Note: This type is experimental.

const (
	RequestStageNotSet   RequestStage = ""
	RequestStageRequest  RequestStage = "Request"
	RequestStageResponse RequestStage = "Response"
)

RequestStage as enums.

func (RequestStage) String

func (e RequestStage) String() string

func (RequestStage) Valid

func (e RequestStage) Valid() bool

type TakeResponseBodyAsStreamArgs

type TakeResponseBodyAsStreamArgs struct {
	RequestID RequestID `json:"requestId"` // No description.
}

TakeResponseBodyAsStreamArgs represents the arguments for TakeResponseBodyAsStream in the Fetch domain.

func NewTakeResponseBodyAsStreamArgs

func NewTakeResponseBodyAsStreamArgs(requestID RequestID) *TakeResponseBodyAsStreamArgs

NewTakeResponseBodyAsStreamArgs initializes TakeResponseBodyAsStreamArgs with the required arguments.

type TakeResponseBodyAsStreamReply

type TakeResponseBodyAsStreamReply struct {
	Stream io.StreamHandle `json:"stream"` // No description.
}

TakeResponseBodyAsStreamReply represents the return values for TakeResponseBodyAsStream in the Fetch domain.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL