Documentation ¶
Overview ¶
Package request 请求接受处理包
Index ¶
- Constants
- Variables
- func FormatURL(context *gin.Context, service *server.Service) string
- func GetAccessTokenFromReq(c *gin.Context) (token string)
- func GetCookieByName(cookies []*http.Cookie, cookieName string) *http.Cookie
- type Handler
- type Request
- func (request *Request) Call(context *gin.Context, method string, remote string, uri string)
- func (request *Request) CallByURL(context *gin.Context, method string, url string)
- func (request *Request) Callback(context *gin.Context, method string, remote string, uri string, ...)
- func (request *Request) CallbackByURL(context *gin.Context, method string, url string, ...)
- func (request *Request) RestJSON(method string, remote string, uri string, param interface{}) ([]byte, error)
- func (request *Request) RestJSONByURL(method string, url string, param interface{}) ([]byte, error)
- func (request *Request) RestText(method string, remote string, uri string, values url.Values) ([]byte, error)
- func (request *Request) RestTextByURL(method string, url string, values url.Values) ([]byte, error)
- type Rest
- type RestHandler
- type RestJSONHandler
- func (handler *RestJSONHandler) Connect(reqType int) (resp *http.Response, err error)
- func (handler *RestJSONHandler) Delete(reqType int) (resp *http.Response, err error)
- func (handler *RestJSONHandler) Get(reqType int) (resp *http.Response, err error)
- func (handler *RestJSONHandler) Head(reqType int) (resp *http.Response, err error)
- func (handler *RestJSONHandler) ObtainBody() io.Reader
- func (handler *RestJSONHandler) ObtainCookies() []*http.Cookie
- func (handler *RestJSONHandler) ObtainHeader() http.Header
- func (handler *RestJSONHandler) ObtainRemoteServer() string
- func (handler *RestJSONHandler) ObtainURI() string
- func (handler *RestJSONHandler) Options(reqType int) (resp *http.Response, err error)
- func (handler *RestJSONHandler) Patch(reqType int) (resp *http.Response, err error)
- func (handler *RestJSONHandler) Post(reqType int) (resp *http.Response, err error)
- func (handler *RestJSONHandler) Put(reqType int) (resp *http.Response, err error)
- func (handler *RestJSONHandler) Trace(reqType int) (resp *http.Response, err error)
- type RestTextHandler
- func (handler *RestTextHandler) Connect(reqType int) (resp *http.Response, err error)
- func (handler *RestTextHandler) Delete(reqType int) (resp *http.Response, err error)
- func (handler *RestTextHandler) Get(reqType int) (resp *http.Response, err error)
- func (handler *RestTextHandler) Head(reqType int) (resp *http.Response, err error)
- func (handler *RestTextHandler) ObtainBody() io.Reader
- func (handler *RestTextHandler) ObtainCookies() []*http.Cookie
- func (handler *RestTextHandler) ObtainHeader() http.Header
- func (handler *RestTextHandler) ObtainRemoteServer() string
- func (handler *RestTextHandler) ObtainURI() string
- func (handler *RestTextHandler) Options(reqType int) (resp *http.Response, err error)
- func (handler *RestTextHandler) Patch(reqType int) (resp *http.Response, err error)
- func (handler *RestTextHandler) Post(reqType int) (resp *http.Response, err error)
- func (handler *RestTextHandler) Put(reqType int) (resp *http.Response, err error)
- func (handler *RestTextHandler) Trace(reqType int) (resp *http.Response, err error)
- type RestTransHandler
- func (handler *RestTransHandler) Connect(reqType int) (resp *http.Response, err error)
- func (handler *RestTransHandler) Delete(reqType int) (resp *http.Response, err error)
- func (handler *RestTransHandler) Get(reqType int) (resp *http.Response, err error)
- func (handler *RestTransHandler) Head(reqType int) (resp *http.Response, err error)
- func (handler *RestTransHandler) ObtainBody() io.Reader
- func (handler *RestTransHandler) ObtainCookies() []*http.Cookie
- func (handler *RestTransHandler) ObtainHeader() http.Header
- func (handler *RestTransHandler) ObtainRemoteServer() string
- func (handler *RestTransHandler) ObtainURI() string
- func (handler *RestTransHandler) Options(reqType int) (resp *http.Response, err error)
- func (handler *RestTransHandler) Patch(reqType int) (resp *http.Response, err error)
- func (handler *RestTransHandler) Post(reqType int) (resp *http.Response, err error)
- func (handler *RestTransHandler) Put(reqType int) (resp *http.Response, err error)
- func (handler *RestTransHandler) Trace(reqType int) (resp *http.Response, err error)
- type TPort
Constants ¶
const ( // TransCallbackRequest 转发请求,需要考虑是否携带上一请求的 Header 和 Cookies TransCallbackRequest = iota // DirectJSONRequest 直接请求,自处理 Header 和 Cookies DirectJSONRequest // DirectTextRequest 直接请求,自处理 Header 和 Cookies DirectTextRequest )
Variables ¶
var ( // LB 是否开启负载均衡 LB = false // Route 是否开启网关路由 Route = false )
Functions ¶
func GetAccessTokenFromReq ¶
GetAccessTokenFromReq 从Header或者Cookie中获取到用户的access_token
Types ¶
type Handler ¶
type Handler interface { // ObtainRemoteServer 获取本次 http 请求服务根路径 如:localhost:8080 ObtainRemoteServer() string // ObtainURI 获取本次 http 请求服务方法路径 如:/user/login ObtainURI() string // ObtainBody 获取本次 http 请求 body io ObtainBody() io.Reader // ObtainHeader 获取本次 http 请求 header ObtainHeader() http.Header // ObtainCookies 获取本次 http 请求 cookies ObtainCookies() []*http.Cookie }
Handler http 处理请求发送内容接口
type Request ¶
type Request struct {
// contains filtered or unexported fields
}
Request 提供实例化调用请求方法,并内置返回策略
func (*Request) Callback ¶
func (request *Request) Callback(context *gin.Context, method string, remote string, uri string, callback func() *response.Result)
Callback 请求转发处理方案
context:原请求上下文
method:即将转发的请求方法
remote:请求转发主体域名
uri:请求转发主体方法路径
callback:请求转发失败后回调降级策略
callback *response.Result 请求转发降级后返回请求方结果对象
func (*Request) CallbackByURL ¶
func (request *Request) CallbackByURL(context *gin.Context, method string, url string, callback func() *response.Result)
CallbackByURL 请求转发处理方案
context:原请求上下文
method:即将转发的请求方法
url:完整转发路径
callback:请求转发失败后回调降级策略
callback *response.Result 请求转发降级后返回请求方结果对象
func (*Request) RestJSON ¶
func (request *Request) RestJSON(method string, remote string, uri string, param interface{}) ([]byte, error)
RestJSON JSON 请求
method:请求方法
remote:请求主体域名
uri:请求主体方法路径
param 请求对象
type Rest ¶
type Rest interface { // Post 发起 Post 请求,body 为请求后的返回内容,err 指出请求出错原因 Post(reqType int) (resp *http.Response, err error) // Put 发起 Put 请求,body 为请求后的返回内容,err 指出请求出错原因 Put(reqType int) (resp *http.Response, err error) // Delete 发起 Delete 请求,body 为请求后的返回内容,err 指出请求出错原因 Delete(reqType int) (resp *http.Response, err error) // Patch 发起 Patch 请求,body 为请求后的返回内容,err 指出请求出错原因 Patch(reqType int) (resp *http.Response, err error) // Options 发起 Options 请求,body 为请求后的返回内容,err 指出请求出错原因 Options(reqType int) (resp *http.Response, err error) // Head 发起 Head 请求,body 为请求后的返回内容,err 指出请求出错原因 Head(reqType int) (resp *http.Response, err error) // Connect 发起 Connect 请求,body 为请求后的返回内容,err 指出请求出错原因 Connect(reqType int) (resp *http.Response, err error) // Trace 发起 Trace 请求,body 为请求后的返回内容,err 指出请求出错原因 Trace(reqType int) (resp *http.Response, err error) // Get 发起 Get 请求,body 为请求后的返回内容,err 指出请求出错原因 Get(reqType int) (resp *http.Response, err error) }
Rest http 请求方法接口
type RestHandler ¶
type RestHandler struct { RemoteServer string URI string Body io.ReadCloser Header http.Header Cookies []*http.Cookie }
RestHandler 处理请求发送内容
type RestJSONHandler ¶
type RestJSONHandler struct { RestHandler Param interface{} }
RestJSONHandler 处理 json 请求发送内容
func (*RestJSONHandler) Connect ¶
func (handler *RestJSONHandler) Connect(reqType int) (resp *http.Response, err error)
Connect 发起 Connect 请求,body 为请求后的返回内容,err 指出请求出错原因
func (*RestJSONHandler) Delete ¶
func (handler *RestJSONHandler) Delete(reqType int) (resp *http.Response, err error)
Delete 发起 Delete 请求,body 为请求后的返回内容,err 指出请求出错原因
func (*RestJSONHandler) Get ¶
func (handler *RestJSONHandler) Get(reqType int) (resp *http.Response, err error)
Get 发起 Get 请求,body 为请求后的返回内容,err 指出请求出错原因
func (*RestJSONHandler) Head ¶
func (handler *RestJSONHandler) Head(reqType int) (resp *http.Response, err error)
Head 发起 Head 请求,body 为请求后的返回内容,err 指出请求出错原因
func (*RestJSONHandler) ObtainBody ¶
func (handler *RestJSONHandler) ObtainBody() io.Reader
ObtainBody 获取本次 http 请求 body io
func (*RestJSONHandler) ObtainCookies ¶
func (handler *RestJSONHandler) ObtainCookies() []*http.Cookie
ObtainCookies 获取本次 http 请求 cookies
func (*RestJSONHandler) ObtainHeader ¶
func (handler *RestJSONHandler) ObtainHeader() http.Header
ObtainHeader 获取本次 http 请求 header
func (*RestJSONHandler) ObtainRemoteServer ¶
func (handler *RestJSONHandler) ObtainRemoteServer() string
ObtainRemoteServer 获取本次 http 请求服务根路径 如:localhost:8080
func (*RestJSONHandler) ObtainURI ¶
func (handler *RestJSONHandler) ObtainURI() string
ObtainURI 获取本次 http 请求服务方法路径 如:/user/login
func (*RestJSONHandler) Options ¶
func (handler *RestJSONHandler) Options(reqType int) (resp *http.Response, err error)
Options 发起 Options 请求,body 为请求后的返回内容,err 指出请求出错原因
func (*RestJSONHandler) Patch ¶
func (handler *RestJSONHandler) Patch(reqType int) (resp *http.Response, err error)
Patch 发起 Patch 请求,body 为请求后的返回内容,err 指出请求出错原因
func (*RestJSONHandler) Post ¶
func (handler *RestJSONHandler) Post(reqType int) (resp *http.Response, err error)
Post 发起 Post 请求,body 为请求后的返回内容,err 指出请求出错原因
type RestTextHandler ¶
type RestTextHandler struct { RestHandler Values url.Values }
RestTextHandler 处理 text 请求发送内容
func (*RestTextHandler) Connect ¶
func (handler *RestTextHandler) Connect(reqType int) (resp *http.Response, err error)
Connect 发起 Connect 请求,body 为请求后的返回内容,err 指出请求出错原因
func (*RestTextHandler) Delete ¶
func (handler *RestTextHandler) Delete(reqType int) (resp *http.Response, err error)
Delete 发起 Delete 请求,body 为请求后的返回内容,err 指出请求出错原因
func (*RestTextHandler) Get ¶
func (handler *RestTextHandler) Get(reqType int) (resp *http.Response, err error)
Get 发起 Get 请求,body 为请求后的返回内容,err 指出请求出错原因
func (*RestTextHandler) Head ¶
func (handler *RestTextHandler) Head(reqType int) (resp *http.Response, err error)
Head 发起 Head 请求,body 为请求后的返回内容,err 指出请求出错原因
func (*RestTextHandler) ObtainBody ¶
func (handler *RestTextHandler) ObtainBody() io.Reader
ObtainBody 获取本次 http 请求 body io
func (*RestTextHandler) ObtainCookies ¶
func (handler *RestTextHandler) ObtainCookies() []*http.Cookie
ObtainCookies 获取本次 http 请求 cookies
func (*RestTextHandler) ObtainHeader ¶
func (handler *RestTextHandler) ObtainHeader() http.Header
ObtainHeader 获取本次 http 请求 header
func (*RestTextHandler) ObtainRemoteServer ¶
func (handler *RestTextHandler) ObtainRemoteServer() string
ObtainRemoteServer 获取本次 http 请求服务根路径 如:localhost:8080
func (*RestTextHandler) ObtainURI ¶
func (handler *RestTextHandler) ObtainURI() string
ObtainURI 获取本次 http 请求服务方法路径 如:/user/login
func (*RestTextHandler) Options ¶
func (handler *RestTextHandler) Options(reqType int) (resp *http.Response, err error)
Options 发起 Options 请求,body 为请求后的返回内容,err 指出请求出错原因
func (*RestTextHandler) Patch ¶
func (handler *RestTextHandler) Patch(reqType int) (resp *http.Response, err error)
Patch 发起 Patch 请求,body 为请求后的返回内容,err 指出请求出错原因
func (*RestTextHandler) Post ¶
func (handler *RestTextHandler) Post(reqType int) (resp *http.Response, err error)
Post 发起 Post 请求,body 为请求后的返回内容,err 指出请求出错原因
type RestTransHandler ¶
type RestTransHandler struct {
RestHandler
}
RestTransHandler 处理请求转发发送内容
func (*RestTransHandler) Connect ¶
func (handler *RestTransHandler) Connect(reqType int) (resp *http.Response, err error)
Connect 发起 Connect 请求,body 为请求后的返回内容,err 指出请求出错原因
func (*RestTransHandler) Delete ¶
func (handler *RestTransHandler) Delete(reqType int) (resp *http.Response, err error)
Delete 发起 Delete 请求,body 为请求后的返回内容,err 指出请求出错原因
func (*RestTransHandler) Get ¶
func (handler *RestTransHandler) Get(reqType int) (resp *http.Response, err error)
Get 发起 Get 请求,body 为请求后的返回内容,err 指出请求出错原因
func (*RestTransHandler) Head ¶
func (handler *RestTransHandler) Head(reqType int) (resp *http.Response, err error)
Head 发起 Head 请求,body 为请求后的返回内容,err 指出请求出错原因
func (*RestTransHandler) ObtainBody ¶
func (handler *RestTransHandler) ObtainBody() io.Reader
ObtainBody 获取本次 http 请求 body io
func (*RestTransHandler) ObtainCookies ¶
func (handler *RestTransHandler) ObtainCookies() []*http.Cookie
ObtainCookies 获取本次 http 请求 cookies
func (*RestTransHandler) ObtainHeader ¶
func (handler *RestTransHandler) ObtainHeader() http.Header
ObtainHeader 获取本次 http 请求 header
func (*RestTransHandler) ObtainRemoteServer ¶
func (handler *RestTransHandler) ObtainRemoteServer() string
ObtainRemoteServer 获取本次 http 请求服务根路径 如:localhost:8080
func (*RestTransHandler) ObtainURI ¶
func (handler *RestTransHandler) ObtainURI() string
ObtainURI 获取本次 http 请求服务方法路径 如:/user/login
func (*RestTransHandler) Options ¶
func (handler *RestTransHandler) Options(reqType int) (resp *http.Response, err error)
Options 发起 Options 请求,body 为请求后的返回内容,err 指出请求出错原因
func (*RestTransHandler) Patch ¶
func (handler *RestTransHandler) Patch(reqType int) (resp *http.Response, err error)
Patch 发起 Patch 请求,body 为请求后的返回内容,err 指出请求出错原因
func (*RestTransHandler) Post ¶
func (handler *RestTransHandler) Post(reqType int) (resp *http.Response, err error)
Post 发起 Post 请求,body 为请求后的返回内容,err 指出请求出错原因
type TPort ¶
type TPort struct { Pool *x509.CertPool ConnectTimeout time.Duration KeepAlive time.Duration Transport *http.Transport }
TPort HTTPS请求管理对象
func (*TPort) Instantiate ¶
func (t *TPort) Instantiate()
Instantiate 实例化 Transport 作为客户端可用HTTP/HTTPS对象
func (*TPort) RootCACerts ¶
RootCACerts 初始化TLS作为客户端可用HTTPS证书池,用于对服务端验证
caCertPaths 作为客户端发起 HTTPS 请求时所需客户端证书路径数组