0
我是Akka/Spray和Scala的新手。我从阿卡文档看到,有的HttpRequest这是HTTP请求类和也有其根据阿卡文档在Akka/Spray中术语“背景”是什么意思
封装一个HttpRequest的上下文中,因为它流过一个 阿卡-HTTP路由结构的RequestContext。
我可以知道术语'context'在这里的含义是什么?
感谢
我是Akka/Spray和Scala的新手。我从阿卡文档看到,有的HttpRequest这是HTTP请求类和也有其根据阿卡文档在Akka/Spray中术语“背景”是什么意思
封装一个HttpRequest的上下文中,因为它流过一个 阿卡-HTTP路由结构的RequestContext。
我可以知道术语'context'在这里的含义是什么?
感谢
让我们来看看阿卡-HTTP Route
型是如何定义的:
type Route = scala.Function1[akka.http.scaladsl.server.RequestContext, scala.concurrent.Future[akka.http.scaladsl.server.RouteResult]]
正如我们看到的路线基本上是转变RequestContext
成Future[RouteResult]
的功能,所以你能想到的RequestContext
作为代表HttpRequest
的一部分数据和一些附加信息。
事实上,采取更深入地了解akka.http.scaladsl.server.RequestContext
,我们会发现一个特点:
trait RequestContext {
val request: HttpRequest
val unmatchedPath: Uri.Path
implicit def executionContext: ExecutionContextExecutor
implicit def materializer: Materializer
def log: LoggingAdapter
def settings: RoutingSettings
def parserSettings: ParserSettings
def reconfigure(
executionContext: ExecutionContextExecutor = executionContext,
materializer: Materializer = materializer,
log: LoggingAdapter = log,
settings: RoutingSettings = settings): RequestContext
// ...
}
(注释从代码中删除)
所以基本上方面为您提供有关HttpRequest
一些元数据。