Documentation
¶
Overview ¶
Package client provides a client for interacting with GitLab API
Package client provides functionality for interacting with HTTP clients ¶
Package client provides an HTTP client with enhanced logging, tracing, and correlation handling.
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)
- func (c *GitlabNetClient) WithHost(host string) *GitlabNetClient
- 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
DefaultTransport returns a clone of the default HTTP transport.
func NewTransport ¶ added in v14.21.0
func NewTransport(next http.RoundTripper) http.RoundTripper
NewTransport creates a new transport with logging, tracing, and correlation handling.
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
func (*GitlabNetClient) WithHost ¶ added in v14.50.0
func (c *GitlabNetClient) WithHost(host string) *GitlabNetClient
WithHost returns a shallow copy of the client that sends requests to the specified host instead of the default one. The returned client shares the same HTTP transport, TLS settings, and authentication credentials. This is used for Cells routing where the Topology Service directs requests to a specific cell.
type HTTPClient ¶ added in v14.36.0
type HTTPClient struct {
RetryableHTTP *retryablehttp.Client
Host string
}
HTTPClient provides an HTTP client with retry capabilities. Fields other than Host must be safe to share across shallow copies, because GitlabNetClient.WithHost creates a copy with a different Host while sharing the same RetryableHTTP transport.
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
Directories
¶
| Path | Synopsis |
|---|---|
|
Package testserver provides test server implementations for testing GitLab Shell client functionality.
|
Package testserver provides test server implementations for testing GitLab Shell client functionality. |