我应该如何访问 Lagom 服务中请求的主机?

How should I access requested host in a Lagom service?

我有一个 Lagom ServerServiceCall,它让我可以访问 Lagom 的 RequestHeader,其中包含有关请求的 URI(路径)和消息协议(媒体类型)的信息。

然而,我真正想要的是找到客户请求的 'host' 和协议。在标准的 Play 应用程序中,此数据似乎位于 RequestHeader 的 'host' 和 'proto' 字段中,但 RequestHeader 的 Lagom 版本不包含这些字段。我可以在 Host 和/或各种 X-Forwarded-... headers 的 header 值本身中四处寻找,但也许有更好的方法?

Lagom 会让您从您已经描述的请求中读取 headers,但您想要的信息所在的实际 header 将取决于您的 API 网关部署。

例如,在开发人员模式下,Lagom 启动了一个 API 网关,该网关当前不添加 X-Forwarded-... 信息,但是当您在生产环境中部署时,您的 HAProxy 网关可以保留该信息。

Lagom 没有设定任何约定或限制。