http_request

package
v0.0.0-...-8122643 Latest Latest
Warning

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

Go to latest
Published: Feb 5, 2024 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const MaxDumpSize int = 2048

Variables

This section is empty.

Functions

func HttpHeadersSet

func HttpHeadersSet(req *http.Request, headers ...map[string]string)

func ParseBody

func ParseBody(ctx op_context.Context, request *http.Request, cmd interface{}, serializer ...message.Serializer) error

func ParseQuery

func ParseQuery(ctx op_context.Context, request *http.Request, cmd interface{}) error

func SendRawRequest

func SendRawRequest(ctx op_context.Context, request *http.Request, redirectHandler ...RedirectHandler) (*http.Response, error)

func UrlEncode

func UrlEncode(msg interface{}) (string, error)

Types

type HttpClient

type HttpClient struct {
	HttpClientConfig
	// contains filtered or unexported fields
}

func DefaultHttpClient

func DefaultHttpClient() *HttpClient

func NewHttpClient

func NewHttpClient(transport ...http.RoundTripper) *HttpClient

func (*HttpClient) Config

func (c *HttpClient) Config() interface{}

func (*HttpClient) Context

func (h *HttpClient) Context() context.Context

func (*HttpClient) Init

func (h *HttpClient) Init(cfg config.Config, log logger.Logger, vld validator.Validator, configPath ...string) error

func (*HttpClient) NewGet

func (h *HttpClient) NewGet(ctx op_context.Context, url string, msg interface{}) (*Request, error)

func (*HttpClient) NewPost

func (h *HttpClient) NewPost(ctx op_context.Context, url string, msg interface{}, serializer ...message.Serializer) (*Request, error)

func (*HttpClient) NewRequest

func (h *HttpClient) NewRequest(method, url string, body io.Reader) (*Request, error)

func (*HttpClient) SetTlsConfig

func (h *HttpClient) SetTlsConfig(cfg *tls.Config)

func (*HttpClient) Shutdown

func (h *HttpClient) Shutdown(ctx context.Context) error

type HttpClientConfig

type HttpClientConfig struct {
	TIMEOUT                  int `default:"15"`
	KEEP_ALIVE               int `default:"30"`
	MAX_IDLE_CONNECTIONS     int `default:"100"`
	IDLE_CONNECTIONS_TIMEOUT int `default:"90"`
	TLS_HANDSHAKE_TIMEOUT    int `default:"10"`
	EXPECT_CONTINUE_TIMEOUT  int `default:"1"`

	USER_AGENT string `default:"go-backend-helpers"`
}

type RedirectHandler

type RedirectHandler func(req *http.Request, via []*http.Request) error

type Request

type Request struct {
	NativeRequest         *http.Request
	NativeResponse        *http.Response
	ResponseStatus        int
	Body                  []byte
	ResponseBody          []byte
	ResponseContent       string
	GoodResponse          interface{}
	BadResponse           interface{}
	Transport             http.RoundTripper
	Timeout               int
	ParsingFailed         bool
	IgnoreResponseContent bool

	TxSerializer message.Serializer
	RxSerializer message.Serializer
	UserAgent    string
	// contains filtered or unexported fields
}

func NewGet

func NewGet(ctx op_context.Context, uRL string, msg interface{}) (*Request, error)

func NewGetWithContext

func NewGetWithContext(systemCtx context.Context, ctx op_context.Context, uRL string, msg interface{}, serializer ...message.Serializer) (*Request, error)

func NewMultipart

func NewMultipart(ctx op_context.Context, url string, files map[string]io.Reader, fields map[string]string, filesField ...string) (*Request, error)

func NewPost

func NewPost(ctx op_context.Context, url string, msg interface{}, serializer ...message.Serializer) (*Request, error)

func NewPostWithContext

func NewPostWithContext(systemCtx context.Context, ctx op_context.Context, url string, msg interface{}, serializer ...message.Serializer) (*Request, error)

func (*Request) Send

func (r *Request) Send(ctx op_context.Context, relaxedParsing ...bool) error

func (*Request) SendRaw

func (r *Request) SendRaw(ctx op_context.Context) error

func (*Request) SetAuthHeader

func (r *Request) SetAuthHeader(key string, value string)

func (*Request) SetHeader

func (r *Request) SetHeader(key string, value string)

func (*Request) SetSerializer

func (r *Request) SetSerializer(serializer ...message.Serializer)

type UrlEncodedSerializer

type UrlEncodedSerializer struct {
	message.SerializerBase
}

func (*UrlEncodedSerializer) ContentMime

func (s *UrlEncodedSerializer) ContentMime() string

func (*UrlEncodedSerializer) Format

func (s *UrlEncodedSerializer) Format() string

func (*UrlEncodedSerializer) SerializeMessage

func (s *UrlEncodedSerializer) SerializeMessage(message interface{}) ([]byte, error)

type WithHttpClient

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

func (*WithHttpClient) Construct

func (w *WithHttpClient) Construct(transport ...http.RoundTripper)

func (*WithHttpClient) HttpClient

func (w *WithHttpClient) HttpClient() *HttpClient

func (*WithHttpClient) Init

func (w *WithHttpClient) Init(cfg config.Config, log logger.Logger, vld validator.Validator, parentConfigPath string) error

func (*WithHttpClient) Shutdown

func (w *WithHttpClient) Shutdown(ctx context.Context) error

Jump to

Keyboard shortcuts

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