2017-05-05 71 views
0

我是Akka/Spray和Scala的新手。我從阿卡文檔看到,有的HttpRequest這是HTTP請求類和也有其根據阿卡文檔在Akka/Spray中術語「背景」是什麼意思

封裝一個HttpRequest的上下文中,因爲它流過一個 阿卡-HTTP路由結構的RequestContext。

我可以知道術語'context'在這裏的含義是什麼?

感謝

回答

1

讓我們來看看阿卡-HTTP Route型是如何定義的:

type Route = scala.Function1[akka.http.scaladsl.server.RequestContext, scala.concurrent.Future[akka.http.scaladsl.server.RouteResult]] 

正如我們看到的路線基本上是轉變RequestContextFuture[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一些元數據。

相關問題