func (a *SetCookieArgs) SetSameSite(sameSite CookieSameSite) *SetCookieArgs {
	a.SameSite = sameSite
	return a
}
SetSameSite sets the SameSite optional argument. Cookie SameSite
type.
package network
import (
	"github.com/mafredri/cdp/protocol/debugger"
	"github.com/mafredri/cdp/protocol/io"
)
type CanClearBrowserCacheReply struct {
	Result bool `json:"result"`  
}
type CanClearBrowserCookiesReply struct {
	Result bool `json:"result"`  
}
type CanEmulateNetworkConditionsReply struct {
	Result bool `json:"result"`  
}
type ContinueInterceptedRequestArgs struct {
	InterceptionID        InterceptionID         `json:"interceptionId"`                   
	ErrorReason           ErrorReason            `json:"errorReason,omitempty"`            
	RawResponse           *string                `json:"rawResponse,omitempty"`            
	URL                   *string                `json:"url,omitempty"`                    
	Method                *string                `json:"method,omitempty"`                 
	PostData              *string                `json:"postData,omitempty"`               
	Headers               Headers                `json:"headers,omitempty"`                
	AuthChallengeResponse *AuthChallengeResponse `json:"authChallengeResponse,omitempty"`  
}
func NewContinueInterceptedRequestArgs(interceptionID InterceptionID) *ContinueInterceptedRequestArgs {
	args := new(ContinueInterceptedRequestArgs)
	args.InterceptionID = interceptionID
	return args
}
func (a *ContinueInterceptedRequestArgs) SetErrorReason(errorReason ErrorReason) *ContinueInterceptedRequestArgs {
	a.ErrorReason = errorReason
	return a
}
func (a *ContinueInterceptedRequestArgs) SetRawResponse(rawResponse string) *ContinueInterceptedRequestArgs {
	a.RawResponse = &rawResponse
	return a
}
func (a *ContinueInterceptedRequestArgs) SetURL(url string) *ContinueInterceptedRequestArgs {
	a.URL = &url
	return a
}
func (a *ContinueInterceptedRequestArgs) SetMethod(method string) *ContinueInterceptedRequestArgs {
	a.Method = &method
	return a
}
func (a *ContinueInterceptedRequestArgs) SetPostData(postData string) *ContinueInterceptedRequestArgs {
	a.PostData = &postData
	return a
}
func (a *ContinueInterceptedRequestArgs) SetHeaders(headers Headers) *ContinueInterceptedRequestArgs {
	a.Headers = headers
	return a
}
func (a *ContinueInterceptedRequestArgs) SetAuthChallengeResponse(authChallengeResponse AuthChallengeResponse) *ContinueInterceptedRequestArgs {
	a.AuthChallengeResponse = &authChallengeResponse
	return a
}
type DeleteCookiesArgs struct {
	Name   string  `json:"name"`              
	URL    *string `json:"url,omitempty"`     
	Domain *string `json:"domain,omitempty"`  
	Path   *string `json:"path,omitempty"`    
}
func NewDeleteCookiesArgs(name string) *DeleteCookiesArgs {
	args := new(DeleteCookiesArgs)
	args.Name = name
	return args
}
func (a *DeleteCookiesArgs) SetURL(url string) *DeleteCookiesArgs {
	a.URL = &url
	return a
}
func (a *DeleteCookiesArgs) SetDomain(domain string) *DeleteCookiesArgs {
	a.Domain = &domain
	return a
}
func (a *DeleteCookiesArgs) SetPath(path string) *DeleteCookiesArgs {
	a.Path = &path
	return a
}
type EmulateNetworkConditionsArgs struct {
	Offline            bool           `json:"offline"`                   
	Latency            float64        `json:"latency"`                   
	DownloadThroughput float64        `json:"downloadThroughput"`        
	UploadThroughput   float64        `json:"uploadThroughput"`          
	ConnectionType     ConnectionType `json:"connectionType,omitempty"`  
}
func NewEmulateNetworkConditionsArgs(offline bool, latency float64, downloadThroughput float64, uploadThroughput float64) *EmulateNetworkConditionsArgs {
	args := new(EmulateNetworkConditionsArgs)
	args.Offline = offline
	args.Latency = latency
	args.DownloadThroughput = downloadThroughput
	args.UploadThroughput = uploadThroughput
	return args
}
func (a *EmulateNetworkConditionsArgs) SetConnectionType(connectionType ConnectionType) *EmulateNetworkConditionsArgs {
	a.ConnectionType = connectionType
	return a
}
type EnableArgs struct {
	MaxTotalBufferSize *int `json:"maxTotalBufferSize,omitempty"`
	MaxResourceBufferSize *int `json:"maxResourceBufferSize,omitempty"`
	MaxPostDataSize       *int `json:"maxPostDataSize,omitempty"`  
}
func NewEnableArgs() *EnableArgs {
	args := new(EnableArgs)
	return args
}
func (a *EnableArgs) SetMaxTotalBufferSize(maxTotalBufferSize int) *EnableArgs {
	a.MaxTotalBufferSize = &maxTotalBufferSize
	return a
}
func (a *EnableArgs) SetMaxResourceBufferSize(maxResourceBufferSize int) *EnableArgs {
	a.MaxResourceBufferSize = &maxResourceBufferSize
	return a
}
func (a *EnableArgs) SetMaxPostDataSize(maxPostDataSize int) *EnableArgs {
	a.MaxPostDataSize = &maxPostDataSize
	return a
}
type GetAllCookiesReply struct {
	Cookies []Cookie `json:"cookies"`  
}
type GetCertificateArgs struct {
	Origin string `json:"origin"`  
}
func NewGetCertificateArgs(origin string) *GetCertificateArgs {
	args := new(GetCertificateArgs)
	args.Origin = origin
	return args
}
type GetCertificateReply struct {
	TableNames []string `json:"tableNames"`  
}
type GetCookiesArgs struct {
	URLs []string `json:"urls,omitempty"`  
}
func NewGetCookiesArgs() *GetCookiesArgs {
	args := new(GetCookiesArgs)
	return args
}
func (a *GetCookiesArgs) SetURLs(urls []string) *GetCookiesArgs {
	a.URLs = urls
	return a
}
type GetCookiesReply struct {
	Cookies []Cookie `json:"cookies"`  
}
type GetResponseBodyArgs struct {
	RequestID RequestID `json:"requestId"`  
}
func NewGetResponseBodyArgs(requestID RequestID) *GetResponseBodyArgs {
	args := new(GetResponseBodyArgs)
	args.RequestID = requestID
	return args
}
type GetResponseBodyReply struct {
	Body          string `json:"body"`           
	Base64Encoded bool   `json:"base64Encoded"`  
}
type GetRequestPostDataArgs struct {
	RequestID RequestID `json:"requestId"`  
}
func NewGetRequestPostDataArgs(requestID RequestID) *GetRequestPostDataArgs {
	args := new(GetRequestPostDataArgs)
	args.RequestID = requestID
	return args
}
type GetRequestPostDataReply struct {
	PostData string `json:"postData"`  
}
type GetResponseBodyForInterceptionArgs struct {
	InterceptionID InterceptionID `json:"interceptionId"`  
}
func NewGetResponseBodyForInterceptionArgs(interceptionID InterceptionID) *GetResponseBodyForInterceptionArgs {
	args := new(GetResponseBodyForInterceptionArgs)
	args.InterceptionID = interceptionID
	return args
}
type GetResponseBodyForInterceptionReply struct {
	Body          string `json:"body"`           
	Base64Encoded bool   `json:"base64Encoded"`  
}
type TakeResponseBodyForInterceptionAsStreamArgs struct {
	InterceptionID InterceptionID `json:"interceptionId"`  
}
func NewTakeResponseBodyForInterceptionAsStreamArgs(interceptionID InterceptionID) *TakeResponseBodyForInterceptionAsStreamArgs {
	args := new(TakeResponseBodyForInterceptionAsStreamArgs)
	args.InterceptionID = interceptionID
	return args
}
type TakeResponseBodyForInterceptionAsStreamReply struct {
	Stream io.StreamHandle `json:"stream"`  
}
type ReplayXHRArgs struct {
	RequestID RequestID `json:"requestId"`  
}
func NewReplayXHRArgs(requestID RequestID) *ReplayXHRArgs {
	args := new(ReplayXHRArgs)
	args.RequestID = requestID
	return args
}
type SearchInResponseBodyArgs struct {
	RequestID     RequestID `json:"requestId"`                
	Query         string    `json:"query"`                    
	CaseSensitive *bool     `json:"caseSensitive,omitempty"`  
	IsRegex       *bool     `json:"isRegex,omitempty"`        
}
func NewSearchInResponseBodyArgs(requestID RequestID, query string) *SearchInResponseBodyArgs {
	args := new(SearchInResponseBodyArgs)
	args.RequestID = requestID
	args.Query = query
	return args
}
func (a *SearchInResponseBodyArgs) SetCaseSensitive(caseSensitive bool) *SearchInResponseBodyArgs {
	a.CaseSensitive = &caseSensitive
	return a
}
func (a *SearchInResponseBodyArgs) SetIsRegex(isRegex bool) *SearchInResponseBodyArgs {
	a.IsRegex = &isRegex
	return a
}
type SearchInResponseBodyReply struct {
	Result []debugger.SearchMatch `json:"result"`  
}
type SetBlockedURLsArgs struct {
	URLs []string `json:"urls"`  
}
func NewSetBlockedURLsArgs(urls []string) *SetBlockedURLsArgs {
	args := new(SetBlockedURLsArgs)
	args.URLs = urls
	return args
}
type SetBypassServiceWorkerArgs struct {
	Bypass bool `json:"bypass"`  
}
func NewSetBypassServiceWorkerArgs(bypass bool) *SetBypassServiceWorkerArgs {
	args := new(SetBypassServiceWorkerArgs)
	args.Bypass = bypass
	return args
}
type SetCacheDisabledArgs struct {
	CacheDisabled bool `json:"cacheDisabled"`  
}
func NewSetCacheDisabledArgs(cacheDisabled bool) *SetCacheDisabledArgs {
	args := new(SetCacheDisabledArgs)
	args.CacheDisabled = cacheDisabled
	return args
}
type SetCookieArgs struct {
	Name     string         `json:"name"`                
	Value    string         `json:"value"`               
	URL      *string        `json:"url,omitempty"`       
	Domain   *string        `json:"domain,omitempty"`    
	Path     *string        `json:"path,omitempty"`      
	Secure   *bool          `json:"secure,omitempty"`    
	HTTPOnly *bool          `json:"httpOnly,omitempty"`  
	SameSite CookieSameSite `json:"sameSite,omitempty"`  
	Expires  TimeSinceEpoch `json:"expires,omitempty"`   
}
func NewSetCookieArgs(name string, value string) *SetCookieArgs {
	args := new(SetCookieArgs)
	args.Name = name
	args.Value = value
	return args
}
func (a *SetCookieArgs) SetURL(url string) *SetCookieArgs {
	a.URL = &url
	return a
}
func (a *SetCookieArgs) SetDomain(domain string) *SetCookieArgs {
	a.Domain = &domain
	return a
}
func (a *SetCookieArgs) SetPath(path string) *SetCookieArgs {
	a.Path = &path
	return a
}
func (a *SetCookieArgs) SetSecure(secure bool) *SetCookieArgs {
	a.Secure = &secure
	return a
}
func (a *SetCookieArgs) SetHTTPOnly(httpOnly bool) *SetCookieArgs {
	a.HTTPOnly = &httpOnly
	return a
}