http

package
Version: v0.0.0-...-77d2810 Latest Latest
Warning

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

Go to latest
Published: Jun 28, 2022 License: Apache-2.0 Imports: 18 Imported by: 177

Documentation

Index

Constants

View Source
const (
	// InsecureTransport used to get the insecure http Transport
	InsecureTransport = iota
	// SecureTransport used to get the external secure http Transport
	SecureTransport
)

Variables

This section is empty.

Functions

func AddTracingWithGlobalTransport

func AddTracingWithGlobalTransport()

func GetHTTPTransport

func GetHTTPTransport(opts ...TransportOption) http.RoundTripper

GetHTTPTransport returns HttpTransport based on insecure configuration

func GetInternalCertPair

func GetInternalCertPair() (tls.Certificate, error)

GetInternalCertPair used to get internal cert and key pair from environment

func GetInternalTLSConfig

func GetInternalTLSConfig() (*tls.Config, error)

GetInternalTLSConfig return a tls.Config for internal https communicate

func InternalEnableVerifyClientCert

func InternalEnableVerifyClientCert() bool

InternalEnableVerifyClientCert returns true if mTLS enabled

func InternalTLSEnabled

func InternalTLSEnabled() bool

InternalTLSEnabled returns true if internal TLS enabled

func NewServerTLSConfig

func NewServerTLSConfig() *tls.Config

NewServerTLSConfig returns a modern tls config, refer to https://blog.cloudflare.com/exposing-go-on-the-internet/

func NewTransport

func NewTransport(opts ...func(*http.Transport)) http.RoundTripper

NewTransport returns a new http.Transport with the specified options

func WithIdleconnectionTimeout

func WithIdleconnectionTimeout(idleConnectionTimeout time.Duration) func(*http.Transport)

WithIdleConnTimeout returns a TransportOption that configures the transport to use the specified idle connection timeout

func WithInsecureSkipVerify

func WithInsecureSkipVerify(skipVerify bool) func(*http.Transport)

WithInsecureSkipVerify returns a TransportOption that configures the transport to skip verification of the server's certificate

func WithInternalTLSConfig

func WithInternalTLSConfig() func(*http.Transport)

WithInternalTLSConfig returns a TransportOption that configures the transport to use the internal TLS configuration

func WithMaxIdleConns

func WithMaxIdleConns(maxIdleConns int) func(*http.Transport)

WithMaxIdleConnsPerHost returns a TransportOption that configures the transport to use the specified number of idle connections per host

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client is a util for common HTTP operations, such Get, Head, Post, Put and Delete. Use Do instead if those methods can not meet your requirement

func NewClient

func NewClient(c *http.Client, modifiers ...modifier.Modifier) *Client

NewClient creates an instance of Client. Use net/http.Client as the default value if c is nil. Modifiers modify the request before sending it.

func (*Client) Delete

func (c *Client) Delete(url string) error

Delete ...

func (*Client) Do

func (c *Client) Do(req *http.Request) (*http.Response, error)

Do ...

func (*Client) Get

func (c *Client) Get(url string, v ...interface{}) error

Get ...

func (*Client) GetAndIteratePagination

func (c *Client) GetAndIteratePagination(endpoint string, v interface{}) error

GetAndIteratePagination iterates the pagination header and returns all resources The parameter "v" must be a pointer to a slice

func (*Client) GetClient

func (c *Client) GetClient() *http.Client

GetClient returns the http.Client

func (*Client) Head

func (c *Client) Head(url string) error

Head ...

func (*Client) Post

func (c *Client) Post(url string, v ...interface{}) error

Post ...

func (*Client) Put

func (c *Client) Put(url string, v ...interface{}) error

Put ...

type Error

type Error struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
}

Error wrap HTTP status code and message as an error

func (*Error) Error

func (e *Error) Error() string

Error ...

func (*Error) String

func (e *Error) String() string

String wraps the error msg to the well formatted error message

type TransportConfig

type TransportConfig struct {
	Insecure bool
}

TransportConfig is the configuration for http transport

type TransportOption

type TransportOption func(*TransportConfig)

TransportOption is the option for http transport

func WithInsecure

func WithInsecure(skipVerify bool) TransportOption

WithInsecure returns a TransportOption that configures the transport to skip verification of the server's certificate

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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