proxy agent 增加 scheme

This commit is contained in:
huangmengzhu
2022-12-02 15:14:03 +08:00
parent bd9a8d4126
commit 665f5ede63
2 changed files with 17 additions and 8 deletions

View File

@@ -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}
}