twitter/finagle

How to set Host header with LoadBalancing

开放

#562 创建于 2016年10月18日

 (15 条评论) (0 个反应) (0 位负责人)Scala (1,435 个派生)batch import
good first issue

仓库指标

星标
 (8,864 个星标)
PR 合并指标
 (30 天内没有已合并 PR)

描述

According to #560 you may be discussing but I got confused when using Finagle's load balancing feature. In order to distribute requests to multiple servers, we instantiate a service via Http.Client#newService as follows,

val client = Http.client.newService("hostA.org:80, hostB.org:80")

Then construct request,

val request = Request("/path/to/service")
request.host = ???

client(request)

What should we fill ??? with?

Moreover, we're forced to pass the host addresses twice when the service creation and the building request. It's not DRY.

Are there any reasons that the Host header automatically set that given to the Service?

贡献者指南