context

package
v0.0.0-...-64c1491 Latest Latest
Warning

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

Go to latest
Published: Jun 18, 2024 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AssumedVersionTLS14 = 0x0305
)
View Source
const DEFAULT_OUTPUT = "/dev/stdout"
View Source
const DEFAULT_STDERR = "/dev/stderr"

Variables

This section is empty.

Functions

func DumpRequestHeaders

func DumpRequestHeaders(req *http.Request) (res []string)

func DumpResponseHeaders

func DumpResponseHeaders(resp *http.Response, verboseFormat bool) (res []string)

func DumpTlsDetails

func DumpTlsDetails(conn *tls.ConnectionState) (res []string)

func GetTlsVersionString

func GetTlsVersionString(version uint16) (res string)

func GetTlsVersionValue

func GetTlsVersionValue(value string) (uint16, error)

Types

type CurlContext

type CurlContext struct {
	Version                            bool
	Verbose                            bool
	HttpVerb                           string
	SilentFail                         bool
	FailEarly                          bool
	FailWithBody                       bool // inherent, unless you specify --fail-early or --fail/-f
	BodyOutput                         []string
	HeaderOutput                       []string
	UserAgent                          string
	Urls                               []string
	IgnoreBadCerts                     bool
	UserAuth                           string
	IsSilent                           bool
	HeadOnly                           bool
	EnableCompression                  bool
	DisableKeepalives                  bool
	DisableBuffer                      bool
	Allow301Post                       bool
	Allow302Post                       bool
	Allow303Post                       bool
	FollowRedirects                    bool
	MaxRedirects                       int
	RedirectsKeepAuthenticationHeaders bool
	OAuth2_BearerToken                 string
	ConfigFile                         string
	DoNotUseHostCertificateAuthorities bool
	DefaultProtocolScheme              string
	ConvertPostFormIntoGet             bool
	CaCertFile                         []string
	CaCertPath                         string
	ClientCertFile                     string
	ClientCertKeyFile                  string
	ClientCertKeyPassword              string
	IncludeHeadersInMainOutput         bool
	ShowErrorEvenIfSilent              bool
	Referer                            string
	ErrorOutput                        string
	Cookies                            []string
	CookieJar                          string
	JunkSessionCookies                 bool
	Jar                                *cookieJar.Jar
	Upload_File                        []string
	Data_Standard                      []string
	Data_Ascii                         []string
	Data_Encoded                       []string
	Data_RawAsIs                       []string
	Data_Binary                        []string
	Data_Json                          []string
	Form_Multipart                     []string
	Form_MultipartRaw                  []string
	Headers                            []string
	HeadersDict                        map[string]string
	Tls_MinVersion_1_3                 bool
	Tls_MinVersion_1_2                 bool
	Tls_MinVersion_1_1                 bool
	Tls_MinVersion_1_0                 bool
	Tls_MaxVersionString               string
	RetryDelaySeconds                  int
	MaxRetries                         int
	RetryAllErrors                     bool
	ForceTryHttp2                      bool
	Expect100Timeout                   float32
	// contains filtered or unexported fields
}

func (*CurlContext) BuildClient

func (ctx *CurlContext) BuildClient() (*http.Client, *curlerrors.CurlError)

func (*CurlContext) BuildClientCertificates

func (ctx *CurlContext) BuildClientCertificates() ([]tls.Certificate, *curlerrors.CurlError)

func (*CurlContext) BuildHttpRequest

func (ctx *CurlContext) BuildHttpRequest(url string, index int, submitDataFormsPostContents bool, submitAuthenticationHeaders bool) (request *http.Request, err *curlerrors.CurlError)

func (*CurlContext) BuildRootCAsPool

func (ctx *CurlContext) BuildRootCAsPool() (*x509.CertPool, *curlerrors.CurlError)

func (*CurlContext) EmitResponseToOutputs

func (ctx *CurlContext) EmitResponseToOutputs(index int, resp *CurlResponses, request *http.Request) (cerrs curlerrors.CurlErrorCollection)

func (*CurlContext) EmitSingleHttpResponseToOutputs

func (ctx *CurlContext) EmitSingleHttpResponseToOutputs(index int, resp *http.Response, request *http.Request, headersOnly bool) (cerrs curlerrors.CurlErrorCollection)

func (*CurlContext) GetCompleteResponse

func (ctx *CurlContext) GetCompleteResponse(index int, client *http.Client, request *http.Request) (*CurlResponses, *curlerrors.CurlError)

func (*CurlContext) GetNextOutputsFromContext

func (ctx *CurlContext) GetNextOutputsFromContext(index int) (headerOutput string, contentOutput string)

func (*CurlContext) HandleDataArgs

func (ctx *CurlContext) HandleDataArgs(returnAsGetParams bool) (*bytes.Buffer, *curlerrors.CurlError)

--data* args -d name=value -d name=@file -d @file (lines of name=value) -d (--data), --data-raw, --data-binary, --data-urlencoded

func (*CurlContext) HandleFormMultipart

func (ctx *CurlContext) HandleFormMultipart() (io.Reader, *curlerrors.CurlError)

-F -F name=@file (reads file as a FILE attachment) -F name=<file (reads file as the VALUE of a form field) -F name=value --form-string name=anyvalue (anyvalue can start with @ or <, they are ignored) Note: no -F @file support

func (*CurlContext) HandleUploadRawFile

func (ctx *CurlContext) HandleUploadRawFile(index int) (io.Reader, *curlerrors.CurlError)

-T

func (*CurlContext) HasDataArgs

func (ctx *CurlContext) HasDataArgs() bool

func (*CurlContext) HasFormArgs

func (ctx *CurlContext) HasFormArgs() bool

func (*CurlContext) ProcessResponseToOutputs

func (ctx *CurlContext) ProcessResponseToOutputs(index int, resp *CurlResponses, request *http.Request) (cerrs curlerrors.CurlErrorCollection)

func (*CurlContext) SetAuthenticationHeadersOnRequest

func (ctx *CurlContext) SetAuthenticationHeadersOnRequest(request *http.Request)

func (*CurlContext) SetCookieHeadersOnRequest

func (ctx *CurlContext) SetCookieHeadersOnRequest(request *http.Request) *curlerrors.CurlError

func (*CurlContext) SetHeaderIfNotSet

func (ctx *CurlContext) SetHeaderIfNotSet(headerName string, headerValue string)

func (*CurlContext) SetMethodIfNotSet

func (ctx *CurlContext) SetMethodIfNotSet(httpMethod string)

func (*CurlContext) SetupContextForRun

func (ctx *CurlContext) SetupContextForRun(extraArgs []string) *curlerrors.CurlError

func (*CurlContext) SetupInitialHeadersOnRequest

func (ctx *CurlContext) SetupInitialHeadersOnRequest(request *http.Request)

func (*CurlContext) WriteToFileBytes

func (ctx *CurlContext) WriteToFileBytes(file string, body []byte) (err error)

type CurlOutputWriter

type CurlOutputWriter interface {
	WriteToFileBytes(file string, body []byte) error
}

type CurlResponse

type CurlResponse struct {
	HttpResponse *http.Response
	Error        error
	NextUrl      *url.URL
}

func GetCurlResponse

func GetCurlResponse(client *http.Client, request *http.Request) *CurlResponse

type CurlResponses

type CurlResponses struct {
	Responses []*CurlResponse
	IsError   bool
}

Jump to

Keyboard shortcuts

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