mirror of
https://github.com/eolinker/apinto
synced 2025-10-07 01:33:12 +08:00
proxy agent 增加 scheme
This commit is contained in:
@@ -5,22 +5,31 @@ import http_service "github.com/eolinker/eosc/eocontext/http-context"
|
||||
type requestAgent struct {
|
||||
http_service.IRequest
|
||||
host string
|
||||
scheme string
|
||||
hostAgent *UrlAgent
|
||||
}
|
||||
|
||||
func newRequestAgent(IRequest http_service.IRequest, host string) *requestAgent {
|
||||
return &requestAgent{IRequest: IRequest, host: host}
|
||||
func newRequestAgent(IRequest http_service.IRequest, host string, scheme string) *requestAgent {
|
||||
return &requestAgent{IRequest: IRequest, host: host, scheme: scheme}
|
||||
}
|
||||
func (a *requestAgent) URI() http_service.IURIWriter {
|
||||
if a.hostAgent == nil {
|
||||
a.hostAgent = NewUrlAgent(a.IRequest.URI(), a.host)
|
||||
a.hostAgent = NewUrlAgent(a.IRequest.URI(), a.host, a.scheme)
|
||||
}
|
||||
return a.hostAgent
|
||||
}
|
||||
|
||||
type UrlAgent struct {
|
||||
http_service.IURIWriter
|
||||
host string
|
||||
host string
|
||||
scheme string
|
||||
}
|
||||
|
||||
func (u *UrlAgent) SetScheme(scheme string) {
|
||||
u.scheme = scheme
|
||||
}
|
||||
func (u *UrlAgent) Scheme() string {
|
||||
return u.scheme
|
||||
}
|
||||
|
||||
func (u *UrlAgent) Host() string {
|
||||
@@ -31,6 +40,6 @@ func (u *UrlAgent) SetHost(host string) {
|
||||
u.host = host
|
||||
}
|
||||
|
||||
func NewUrlAgent(IURIWriter http_service.IURIWriter, host string) *UrlAgent {
|
||||
return &UrlAgent{IURIWriter: IURIWriter, host: host}
|
||||
func NewUrlAgent(IURIWriter http_service.IURIWriter, host string, scheme string) *UrlAgent {
|
||||
return &UrlAgent{IURIWriter: IURIWriter, host: host, scheme: scheme}
|
||||
}
|
||||
|
Reference in New Issue
Block a user