本文整理匯總了Golang中github.com/zalando/skipper/filters.FilterContext.SetOutgoingHost方法的典型用法代碼示例。如果您正苦於以下問題:Golang FilterContext.SetOutgoingHost方法的具體用法?Golang FilterContext.SetOutgoingHost怎麽用?Golang FilterContext.SetOutgoingHost使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/zalando/skipper/filters.FilterContext
的用法示例。
在下文中一共展示了FilterContext.SetOutgoingHost方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: Request
func (f *headerFilter) Request(ctx filters.FilterContext) {
if f.typ != requestHeader {
return
}
ctx.Request().Header.Add(f.key, f.value)
if strings.ToLower(f.key) == "host" {
ctx.SetOutgoingHost(f.value)
}
}
示例2: Request
func (preserve filter) Request(ctx filters.FilterContext) {
u, err := url.Parse(ctx.BackendUrl())
if err != nil {
log.Error("failed to parse backend host in preserveHost filter", err)
return
}
if preserve && ctx.OutgoingHost() == u.Host {
ctx.SetOutgoingHost(ctx.Request().Host)
} else if !preserve && ctx.OutgoingHost() == ctx.Request().Host {
ctx.SetOutgoingHost(u.Host)
}
}
示例3: Request
func (f *headerFilter) Request(ctx filters.FilterContext) {
switch f.typ {
case setRequestHeader:
ctx.Request().Header.Set(f.key, f.value)
if strings.ToLower(f.key) == "host" {
ctx.SetOutgoingHost(f.value)
}
case appendRequestHeader, depRequestHeader:
ctx.Request().Header.Add(f.key, f.value)
if strings.ToLower(f.key) == "host" {
ctx.SetOutgoingHost(f.value)
}
case dropRequestHeader:
ctx.Request().Header.Del(f.key)
}
}