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
一些元數據。