Documentation ¶
Index ¶
- Constants
- func DownloadExecutable(githubToken string, fileUtils piperutils.FileUtils, downloader Downloader, ...) (string, error)
- func ParseHTTPResponseBodyJSON(resp *http.Response, response interface{}) error
- func ParseHTTPResponseBodyXML(resp *http.Response, response interface{}) error
- type Client
- func (c *Client) DownloadFile(url, filename string, header http.Header, cookies []*http.Cookie) error
- func (c *Client) DownloadRequest(method, url, filename string, header http.Header, cookies []*http.Cookie) error
- func (c *Client) GetRequest(url string, header http.Header, cookies []*http.Cookie) (*http.Response, error)
- func (c *Client) Send(request *http.Request) (*http.Response, error)
- func (c *Client) SendRequest(method, url string, body io.Reader, header http.Header, cookies []*http.Cookie) (*http.Response, error)
- func (c *Client) SetFileUtils(fileUtils piperutils.FileUtils)
- func (c *Client) SetOptions(options ClientOptions)
- func (c *Client) StandardClient() *http.Client
- func (c *Client) Upload(data UploadRequestData) (*http.Response, error)
- func (c *Client) UploadFile(url, file, fileFieldName string, header http.Header, cookies []*http.Cookie, ...) (*http.Response, error)
- func (c *Client) UploadRequest(method, url, file, fileFieldName string, header http.Header, ...) (*http.Response, error)
- type ClientOptions
- type Downloader
- type Sender
- type TransportWrapper
- type UploadRequestData
- type Uploader
Constants ¶
const TrustStoreDirectory = ".pipeline/trustStore"
TrustStoreDirectory default truststore location
Variables ¶
This section is empty.
Functions ¶
func DownloadExecutable ¶ added in v1.230.0
func DownloadExecutable(githubToken string, fileUtils piperutils.FileUtils, downloader Downloader, url string) (string, error)
DownloadExecutable downloads a script or another executable and sets appropriate permissions
func ParseHTTPResponseBodyJSON ¶ added in v1.56.0
ParseHTTPResponseBodyJSON parses a JSON http response into a given interface
func ParseHTTPResponseBodyXML ¶ added in v1.56.0
ParseHTTPResponseBodyXML parses an XML http response into a given interface
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client defines an http client object
func (*Client) DownloadFile ¶ added in v1.14.0
func (c *Client) DownloadFile(url, filename string, header http.Header, cookies []*http.Cookie) error
DownloadFile downloads a file's content as GET request from the specified URL to the specified file
func (*Client) DownloadRequest ¶ added in v1.14.0
func (c *Client) DownloadRequest(method, url, filename string, header http.Header, cookies []*http.Cookie) error
DownloadRequest ...
func (*Client) GetRequest ¶ added in v1.180.0
func (c *Client) GetRequest(url string, header http.Header, cookies []*http.Cookie) (*http.Response, error)
GetRequest downloads content from a given URL and returns the response instead of writing it to file
func (*Client) SendRequest ¶
func (c *Client) SendRequest(method, url string, body io.Reader, header http.Header, cookies []*http.Cookie) (*http.Response, error)
SendRequest sends a http request with a defined method
On error, any Response can be ignored and the Response.Body does not need to be closed.
func (*Client) SetFileUtils ¶ added in v1.207.0
func (c *Client) SetFileUtils(fileUtils piperutils.FileUtils)
SetFileUtils can be used to overwrite the default file utils
func (*Client) SetOptions ¶
func (c *Client) SetOptions(options ClientOptions)
SetOptions sets options used for the http client
func (*Client) StandardClient ¶ added in v1.145.0
StandardClient returns a stdlib *http.Client which respects the custom settings.
func (*Client) Upload ¶ added in v1.38.0
func (c *Client) Upload(data UploadRequestData) (*http.Response, error)
Upload uploads a file's content as multipart-form or pure binary with given http method request to the specified URL
func (*Client) UploadFile ¶ added in v1.9.0
func (c *Client) UploadFile(url, file, fileFieldName string, header http.Header, cookies []*http.Cookie, uploadType string) (*http.Response, error)
UploadFile uploads a file's content as multipart-form POST request to the specified URL
func (*Client) UploadRequest ¶ added in v1.10.0
func (c *Client) UploadRequest(method, url, file, fileFieldName string, header http.Header, cookies []*http.Cookie, uploadType string) (*http.Response, error)
UploadRequest uploads a file's content as multipart-form with given http method request to the specified URL
type ClientOptions ¶
type ClientOptions struct { // MaxRequestDuration has a default value of "0", meaning "no maximum // request duration". If it is greater than 0, an overall, hard timeout // for the request will be enforced. This should only be used if the // length of the request bodies is known. MaxRequestDuration time.Duration MaxRetries int // TransportTimeout defaults to 3 minutes, if not specified. It is // used for the transport layer and duration of handshakes and such. TransportTimeout time.Duration TransportSkipVerification bool TransportProxy *url.URL Username string Password string Token string Logger *logrus.Entry CookieJar http.CookieJar DoLogRequestBodyOnDebug bool DoLogResponseBodyOnDebug bool UseDefaultTransport bool TrustedCerts []string // defines the set of root certificate authorities that clients use when verifying server certificates Certificates []tls.Certificate // contains one or more certificate chains to present to the other side of the connection (client-authentication) }
ClientOptions defines the options to be set on the client
type Downloader ¶ added in v1.14.0
type Downloader interface { SetOptions(options ClientOptions) DownloadFile(url, filename string, header http.Header, cookies []*http.Cookie) error }
Downloader ...
type Sender ¶
type Sender interface { SendRequest(method, url string, body io.Reader, header http.Header, cookies []*http.Cookie) (*http.Response, error) SetOptions(options ClientOptions) }
Sender provides an interface to the piper http client for uid/pwd and token authenticated requests
type TransportWrapper ¶ added in v1.38.0
type TransportWrapper struct { Transport http.RoundTripper // contains filtered or unexported fields }
TransportWrapper is a wrapper for central round trip capabilities
type UploadRequestData ¶ added in v1.38.0
type UploadRequestData struct { // Method is the HTTP method used for the request. Must be one of http.MethodPost or http.MethodPut. Method string // URL for the request URL string // File path to be stored in the created form field. File string // Form field name under which the file name will be stored. FileFieldName string // Additional form fields which will be added to the request if not nil. FormFields map[string]string // Reader from which the file contents will be read. FileContent io.Reader Header http.Header Cookies []*http.Cookie UploadType string }
UploadRequestData encapsulates the parameters for calling uploader.Upload()
type Uploader ¶ added in v1.9.0
type Uploader interface { Sender UploadRequest(method, url, file, fieldName string, header http.Header, cookies []*http.Cookie, uploadType string) (*http.Response, error) UploadFile(url, file, fieldName string, header http.Header, cookies []*http.Cookie, uploadType string) (*http.Response, error) Upload(data UploadRequestData) (*http.Response, error) }
Uploader provides an interface to the piper http client for uid/pwd and token authenticated requests with upload capabilities