Documentation
¶
Overview ¶
Package client provides a client for interacting with GitLab API
Package client provides functionality for interacting with HTTP clients
Index ¶
- Variables
- func DefaultTransport() http.RoundTripper
- func NewTransport(next http.RoundTripper) http.RoundTripper
- type APIError
- type ErrorResponse
- type GitlabNetClient
- func (c *GitlabNetClient) Do(request *http.Request) (*http.Response, error)
- func (c *GitlabNetClient) DoRequest(ctx context.Context, method, path string, data interface{}) (*http.Response, error)
- func (c *GitlabNetClient) Get(ctx context.Context, path string) (*http.Response, error)
- func (c *GitlabNetClient) Post(ctx context.Context, path string, data interface{}) (*http.Response, error)
- func (c *GitlabNetClient) SetUserAgent(ua string)
- type HTTPClient
- type HTTPClientOpt
- type OriginalRemoteIPContextKey
Constants ¶
This section is empty.
Variables ¶
var ErrCafileNotFound = errors.New("cafile not found")
ErrCafileNotFound indicates that the specified CA file was not found
Functions ¶
func DefaultTransport ¶ added in v14.21.0
func DefaultTransport() http.RoundTripper
func NewTransport ¶ added in v14.21.0
func NewTransport(next http.RoundTripper) http.RoundTripper
Types ¶
type APIError ¶ added in v14.36.0
type APIError struct {
Msg string
}
APIError represents an API error
type ErrorResponse ¶
type ErrorResponse struct {
Message string `json:"message"`
}
ErrorResponse represents an error response from the API
type GitlabNetClient ¶
type GitlabNetClient struct {
// contains filtered or unexported fields
}
GitlabNetClient is a client for interacting with GitLab API
func NewGitlabNetClient ¶
func NewGitlabNetClient( user, password, secret string, httpClient *HTTPClient, ) (*GitlabNetClient, error)
NewGitlabNetClient creates a new GitlabNetClient instance
func (*GitlabNetClient) DoRequest ¶
func (c *GitlabNetClient) DoRequest(ctx context.Context, method, path string, data interface{}) (*http.Response, error)
DoRequest executes a request with the given method, path, and data
func (*GitlabNetClient) Post ¶
func (c *GitlabNetClient) Post(ctx context.Context, path string, data interface{}) (*http.Response, error)
Post makes a POST request
func (*GitlabNetClient) SetUserAgent ¶
func (c *GitlabNetClient) SetUserAgent(ua string)
SetUserAgent overrides the default user agent for the User-Agent header field for subsequent requests for the GitlabNetClient
type HTTPClient ¶ added in v14.36.0
type HTTPClient struct { RetryableHTTP *retryablehttp.Client Host string }
HTTPClient provides an HTTP client with retry capabilities
func NewHTTPClientWithOpts ¶
func NewHTTPClientWithOpts(gitlabURL, gitlabRelativeURLRoot, caFile, caPath string, readTimeoutSeconds uint64, opts []HTTPClientOpt) (*HTTPClient, error)
NewHTTPClientWithOpts builds an HTTP client using the provided options
type HTTPClientOpt ¶
type HTTPClientOpt func(*httpClientCfg)
HTTPClientOpt provides options for configuring an HttpClient
func WithClientCert ¶
func WithClientCert(certPath, keyPath string) HTTPClientOpt
WithClientCert will configure the HttpClient to provide client certificates when connecting to a server.
func WithHTTPRetryOpts ¶ added in v14.16.0
func WithHTTPRetryOpts(waitMin, waitMax time.Duration, maxAttempts int) HTTPClientOpt
WithHTTPRetryOpts configures HTTP retry options for the HttpClient
type OriginalRemoteIPContextKey ¶
type OriginalRemoteIPContextKey struct{}
OriginalRemoteIPContextKey is used as the key in a Context to set an X-Forwarded-For header in a request