uhttp

package
v0.6.36 Latest Latest
Warning

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

Go to latest
Published: Apr 20, 2024 License: MIT Imports: 30 Imported by: 3

Documentation

Index

Constants

View Source
const (
	UrlTag    string = "url"
	HeaderTag string = "http"
)
View Source
const XForwardedFor = "X-Forwarded-For"

Variables

This section is empty.

Functions

func ClientAddress added in v0.6.17

func ClientAddress(r *http.Request, xRemoteAddress string) string

func ClientRequestName added in v0.5.3

func ClientRequestName(r Request) string

func HeaderString added in v0.2.18

func HeaderString(h http.Header) string

func HeaderTo added in v0.2.18

func HeaderTo(h http.Header, s any) (err error)

func IsEmpty added in v0.2.33

func IsEmpty(s string) bool

func Marshal added in v0.2.33

func Marshal(v any, omitempty bool) (s string, omit bool)

func OmitEmpty added in v0.2.33

func OmitEmpty(flags []string) bool

func ParamsString added in v0.5.3

func ParamsString(params url.Values) string

func ProxyRequestName added in v0.5.3

func ProxyRequestName(r *http.Request, xRemoteAddress string) string

func RequestName added in v0.5.3

func RequestName(r *http.Request) string

func RouteName added in v0.5.3

func RouteName(method, uri string) string

func Title added in v0.5.3

func Title(name string, statusCode int, status string, tm time.Duration, bodyLen int, err error) string

func UrlJoin added in v0.2.37

func UrlJoin(s ...any) string

func WebSocketName added in v0.5.3

func WebSocketName(name string) string

Types

type Client

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

func NewClient

func NewClient() *Client

func (*Client) Base added in v0.5.9

func (o *Client) Base() string

func (*Client) Copy added in v0.3.6

func (o *Client) Copy() *Client

func (*Client) Delete

func (o *Client) Delete(url string) *Performer

func (*Client) Get

func (o *Client) Get(url string) *Performer

func (*Client) Post

func (o *Client) Post(url string) *Performer

func (*Client) Put

func (o *Client) Put(url string) *Performer

func (*Client) Request

func (o *Client) Request(method string, url string) *Performer

func (*Client) Timeout

func (o *Client) Timeout() time.Duration

func (*Client) Transport added in v0.3.6

func (o *Client) Transport() http.RoundTripper

func (*Client) Url added in v0.2.25

func (o *Client) Url(url string) string

func (*Client) WithAppendPath added in v0.2.26

func (o *Client) WithAppendPath(path string) *Client

func (*Client) WithBase added in v0.2.25

func (o *Client) WithBase(base string) *Client

func (*Client) WithOnDoRequestError added in v0.3.15

func (o *Client) WithOnDoRequestError(f OnError) *Client

func (*Client) WithOnInitRequestError added in v0.3.15

func (o *Client) WithOnInitRequestError(f OnError) *Client

func (*Client) WithOnReadBodyError added in v0.3.15

func (o *Client) WithOnReadBodyError(f OnError) *Client

func (*Client) WithPath

func (o *Client) WithPath(path string) *Client

func (*Client) WithProxy

func (o *Client) WithProxy(proxy string) *Client

func (*Client) WithProxyUrl added in v0.2.21

func (o *Client) WithProxyUrl(url *url.URL) *Client

func (*Client) WithTimeout

func (o *Client) WithTimeout(timeout time.Duration) *Client

func (*Client) WithTrace

func (o *Client) WithTrace(trace func(Responce)) *Client

func (*Client) WithTransport added in v0.3.6

func (o *Client) WithTransport(transport http.RoundTripper) *Client

type DualServer added in v0.5.14

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

func NewDualServer added in v0.5.14

func NewDualServer() *DualServer

func (*DualServer) Close added in v0.5.14

func (o *DualServer) Close()

func (*DualServer) Run added in v0.5.14

func (o *DualServer) Run(addr string, addrTls string, handler http.Handler) error

func (*DualServer) WithAutoSecret added in v0.5.14

func (o *DualServer) WithAutoSecret(dir string, domains ...string) *DualServer

func (*DualServer) WithLogErrors added in v0.5.14

func (o *DualServer) WithLogErrors(use bool) *DualServer

func (*DualServer) WithLogErrorsLevel added in v0.5.14

func (o *DualServer) WithLogErrorsLevel(level ulog.Level) *DualServer

func (*DualServer) WithRedirectToTls added in v0.5.14

func (o *DualServer) WithRedirectToTls(use string) *DualServer

func (*DualServer) WithSecret added in v0.5.14

func (o *DualServer) WithSecret(certFile, keyFile string) *DualServer

func (*DualServer) WithSecretDir added in v0.5.14

func (o *DualServer) WithSecretDir(dir string) *DualServer

type Format

type Format struct {
	RequestParams     bool
	RequestHeader     bool
	ResponceHeader    bool
	RequestBody       bool
	ResponceBody      bool
	RequestBodyTrim   bool
	ResponceBodyTrim  bool
	RequestBodyLimit  int
	ResponceBodyLimit int
}

type FormatProvider added in v0.5.3

type FormatProvider struct {
	Title          func() string
	RequestParams  func() string
	RequestHeader  func() string
	RequestBody    func() string
	ResponceHeader func() string
	ResponceBody   func() string
}

func (FormatProvider) Format added in v0.5.3

func (o FormatProvider) Format(f Format) string

type OnError added in v0.3.15

type OnError func(error, *Responce) error

type OnErrors added in v0.3.15

type OnErrors struct {
	InitRequest OnError
	DoRequest   OnError
	ReadBody    OnError
	// contains filtered or unexported fields
}

type OnRequest added in v0.5.3

type OnRequest func(http.ResponseWriter, *http.Request)

type OnWebsocket added in v0.5.3

type OnWebsocket func(*websocket.Conn)

type Performer

type Performer struct {
	Request Request
	// contains filtered or unexported fields
}

func (*Performer) Auth

func (o *Performer) Auth(v string) *Performer

func (*Performer) AuthBearer

func (o *Performer) AuthBearer(token string) *Performer

func (*Performer) Body

func (o *Performer) Body(body []byte) *Performer

func (*Performer) ContentType

func (o *Performer) ContentType(v string) *Performer

func (*Performer) ContentTypeJson

func (o *Performer) ContentTypeJson() *Performer

func (*Performer) Do

func (o *Performer) Do() (r Responce)

func (*Performer) Header

func (o *Performer) Header(name string, value any) *Performer

func (*Performer) Headers

func (o *Performer) Headers(s any) *Performer

func (*Performer) Json

func (o *Performer) Json(v any) *Performer

func (*Performer) OnDoRequestError added in v0.3.15

func (o *Performer) OnDoRequestError(f OnError) *Performer

func (*Performer) OnInitRequestError added in v0.3.15

func (o *Performer) OnInitRequestError(f OnError) *Performer

func (*Performer) OnReadBodyError added in v0.3.15

func (o *Performer) OnReadBodyError(f OnError) *Performer

func (*Performer) Param

func (o *Performer) Param(name string, value any) *Performer

func (*Performer) Params

func (o *Performer) Params(s any) *Performer

func (*Performer) Trace

func (o *Performer) Trace(trace func(Responce)) *Performer

type Request

type Request struct {
	Method string
	Url    string
	Params url.Values
	Header http.Header
	Body   []byte
}

func (*Request) BodyString

func (o *Request) BodyString() string

func (*Request) HeaderString

func (o *Request) HeaderString() string

func (*Request) ParamsString

func (o *Request) ParamsString() string

func (*Request) Path

func (o *Request) Path(path string)

func (*Request) RefineUrl added in v0.2.17

func (o *Request) RefineUrl()

func (*Request) Uri

func (o *Request) Uri() string

type Responce

type Responce struct {
	Request    Request
	Time       time.Duration
	Status     string
	StatusCode int
	Header     http.Header
	Body       []byte
	Error      error
}

func (*Responce) BodyExists added in v0.2.24

func (o *Responce) BodyExists() bool

func (*Responce) BodyString added in v0.5.3

func (o *Responce) BodyString() string

func (*Responce) Format

func (o *Responce) Format(f Format) string

func (*Responce) GetStatus added in v0.5.27

func (o *Responce) GetStatus() string

func (*Responce) HeaderExists added in v0.2.18

func (o *Responce) HeaderExists(key string) bool

func (*Responce) HeaderFloat64 added in v0.2.18

func (o *Responce) HeaderFloat64(key string) (float64, error)

func (*Responce) HeaderInt64 added in v0.2.18

func (o *Responce) HeaderInt64(key string) (int64, error)

func (*Responce) HeaderString added in v0.2.18

func (o *Responce) HeaderString() string

func (*Responce) HeaderTo added in v0.2.18

func (o *Responce) HeaderTo(v any) error

func (*Responce) HeaderValue added in v0.2.18

func (o *Responce) HeaderValue(key string) string

func (*Responce) Json

func (o *Responce) Json(v any) error

func (*Responce) NotOkError added in v0.5.25

func (o *Responce) NotOkError() error

func (*Responce) Ok added in v0.2.17

func (o *Responce) Ok() bool

func (*Responce) RefineError

func (o *Responce) RefineError(text string, err error)

func (*Responce) Text added in v0.2.60

func (o *Responce) Text() string

func (*Responce) Title added in v0.2.17

func (o *Responce) Title() string

type ReverseProxy added in v0.5.9

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

func NewReverseProxy added in v0.5.9

func NewReverseProxy(s string) *ReverseProxy

func (*ReverseProxy) Connect added in v0.5.9

func (o *ReverseProxy) Connect(router *Router)

func (*ReverseProxy) OnRequest added in v0.5.9

func (o *ReverseProxy) OnRequest(f func(http.ResponseWriter, *http.Request) bool) *ReverseProxy

func (*ReverseProxy) OnRewrite added in v0.5.9

func (o *ReverseProxy) OnRewrite(f func(*httputil.ProxyRequest)) *ReverseProxy

func (*ReverseProxy) OnTarget added in v0.5.9

func (o *ReverseProxy) OnTarget(f func(*httputil.ProxyRequest) string) *ReverseProxy

func (*ReverseProxy) Pure added in v0.5.9

func (o *ReverseProxy) Pure() *ReverseProxy

func (*ReverseProxy) Target added in v0.5.9

func (o *ReverseProxy) Target(s string) *ReverseProxy

type Router added in v0.5.3

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

func NewRouter added in v0.5.3

func NewRouter() *Router

func (Router) Branch added in v0.5.3

func (o Router) Branch(path string) *Router

func (*Router) Delete added in v0.5.3

func (o *Router) Delete(path string, onRequest OnRequest)

func (*Router) Files added in v0.5.3

func (o *Router) Files(files fs.FS)

func (*Router) Get added in v0.5.3

func (o *Router) Get(path string, onRequest OnRequest)

func (*Router) Handle added in v0.5.3

func (o *Router) Handle(method string, path string, onRequest OnRequest)

func (*Router) HandleFunc added in v0.5.9

func (o *Router) HandleFunc(uri string, onRequest OnRequest) *mux.Route

func (*Router) IsRoot added in v0.5.3

func (o *Router) IsRoot() bool

func (*Router) Log added in v0.5.3

func (o *Router) Log() *ulog.Log

func (*Router) Options added in v0.5.3

func (o *Router) Options(path string, onRequest OnRequest)

func (*Router) Post added in v0.5.3

func (o *Router) Post(path string, onRequest OnRequest)

func (*Router) Put added in v0.5.3

func (o *Router) Put(path string, onRequest OnRequest)

func (*Router) RequestName added in v0.5.3

func (o *Router) RequestName(r *http.Request) string

func (*Router) ReverseProxy added in v0.5.9

func (o *Router) ReverseProxy(r *ReverseProxy)

func (*Router) Router added in v0.5.3

func (o *Router) Router() *mux.Router

func (*Router) WebSocket added in v0.5.3

func (o *Router) WebSocket(path string, onWebsocket OnWebsocket)

func (*Router) WithId added in v0.5.3

func (o *Router) WithId(id any) *Router

func (*Router) WithLogRequest added in v0.5.3

func (o *Router) WithLogRequest(logRequest bool) *Router

func (*Router) WithWebSocketErrorLevel added in v0.5.3

func (o *Router) WithWebSocketErrorLevel(level ulog.Level) *Router

func (*Router) WithXRemoteAddress added in v0.5.3

func (o *Router) WithXRemoteAddress(s string) *Router

type Server added in v0.5.2

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

func NewServer added in v0.5.3

func NewServer() *Server

func (*Server) Close added in v0.5.2

func (o *Server) Close()

func (*Server) IsTls added in v0.5.2

func (o *Server) IsTls() bool

func (*Server) Run added in v0.5.2

func (o *Server) Run(addr string, handler http.Handler)

func (*Server) WithAutoSecret added in v0.5.2

func (o *Server) WithAutoSecret(dir string, domains ...string) *Server

func (*Server) WithLogErrors added in v0.5.2

func (o *Server) WithLogErrors(use bool) *Server

func (*Server) WithLogErrorsLevel added in v0.5.2

func (o *Server) WithLogErrorsLevel(level ulog.Level) *Server

func (*Server) WithSecret added in v0.5.2

func (o *Server) WithSecret(certFile, keyFile string) *Server

func (*Server) WithSecretDir added in v0.5.2

func (o *Server) WithSecretDir(dir string) *Server

type Tracer

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

func NewTracer

func NewTracer(log *ulog.Log) *Tracer

func (*Tracer) Trace

func (o *Tracer) Trace(r Responce)

func (*Tracer) WithFilter added in v0.5.29

func (o *Tracer) WithFilter(f func(Responce) bool) *Tracer

func (*Tracer) WithFormat added in v0.2.17

func (o *Tracer) WithFormat(f Format) *Tracer

func (*Tracer) WithFormatError added in v0.2.92

func (o *Tracer) WithFormatError(f Format) *Tracer

func (*Tracer) WithValidate added in v0.3.3

func (o *Tracer) WithValidate(f func(Responce) bool) *Tracer

Jump to

Keyboard shortcuts

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