Documentation
¶
Index ¶
Constants ¶
View Source
const ( ContentRaw = "Raw" //原始请求 ContentForm = "Form" //Form请求 ContentJson = "Json" //Json请求 DefaultTimeout = 30 * time.Second //默认请求时间 )
View Source
const ( MethodGet = http.MethodGet MethodHead = http.MethodHead MethodPost = http.MethodPost MethodPut = http.MethodPut MethodPatch = http.MethodPatch // RFC 5789 MethodDelete = http.MethodDelete MethodConnect = http.MethodConnect MethodOptions = http.MethodOptions MethodTrace = http.MethodTrace )
Variables ¶
View Source
var ( ClientRequestDuration = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Name: "httpx_client_request_duration_seconds", Help: "HTTP client request duration in seconds", Buckets: []float64{0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10}, }, []string{"method", "code", "host"}, ) ClientRequestsTotal = prometheus.NewCounterVec( prometheus.CounterOpts{ Name: "httpx_client_requests_total", Help: "HTTP client requests total", }, []string{"method", "code", "host"}, ) )
Prometheus Metrics
Functions ¶
func WithBasicAuth ¶
func WithBasicAuth(auth *RequestBasicAuth) opt.Option[requestOptions]
Types ¶
type Client ¶
type Config ¶
type Config struct {
Timeout time.Duration
Trace bool
Logger *logger.Logger
EnableLogger bool
// Connection Pool Settings
MaxIdleConns int
MaxIdleConnsPerHost int
MaxConnsPerHost int
IdleConnTimeout time.Duration
// Custom Transport (Optional)
// If set, Connection Pool Settings above will be ignored for this transport
Transport *http.Transport
}
type Request ¶
type Request struct {
Url string `json:"url"` // 请求url
Method string `json:"method"` //请求方法,GET/POST/PUT/DELETE/PATCH...
Params map[string]string `json:"params"` //Query参数
Body string `json:"body"` //请求体
Headers map[string]string `json:"headers"` // 请求头
ContentType string `json:"content_type"` //数据编码格式 //TODO:更多
Files map[string]string `json:"files"` //TODO:文件
Cookies map[string]string `json:"cookies"` //Cookies
}
Request 请求结构体
type RequestBasicAuth ¶
type Response ¶
type Response struct {
StatusCode int `json:"status_code"` // 状态码
Success bool `json:"success"` // 响应状态
Content []byte `json:"content"` // 响应内容-字节
Reason string `json:"reason"` // 状态码说明
Elapsed float64 `json:"elapsed"` // 请求耗时(秒)
Headers map[string]string `json:"headers"` // 响应头
Cookies map[string]string `json:"cookies"` // 响应Cookies
Request *Request `json:"request"` // 原始请求
}
Response 响应结构体
Click to show internal directories.
Click to hide internal directories.