本文整理汇总了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)
}
}