【发布时间】:2017-06-08 12:18:48
【问题描述】:
我正在按照示例 here 在 Scala 中创建 websocket 客户端。我想在 websocket 请求中传递一个自定义标头。我通过扩展 HttpHeader 创建了一个 CustomHeader 类。
final class CustomHeader(headerName: String, headerValue: String) extends HttpHeader {
override def name(): String = headerName
override def value(): String = headerValue
override def lowercaseName(): String = name.toLowerCase
override def renderInRequests(): Boolean = true
override def renderInResponses(): Boolean = true
}
然后在客户端,
val headers = Seq(new CustomHeader("X-Auth-Token", authToken))
val request = new WebSocketRequest(uri = "ws://localhost:9035", extraHeaders = headers)
当我运行activator compile 时,它会抛出以下错误:
type mismatch;
[error] found : Seq[com.apple.geo.neutron.services.notification.event.CustomHeader]
[error] required: scala.collection.immutable.Seq[akka.http.scaladsl.model.HttpHeader]
[error] Error occurred in an application involving default arguments.
[error] val request = new WebSocketRequest(uri = "ws://localhost:9035", extraHeaders = headers)
如何解决此错误,或向 websocket 请求添加自定义标头?
【问题讨论】:
标签: scala