设置 Finatra HTTP 请求超时

Set Finatra HTTP request timeout

是否可以在 Finatra 服务器中设置 HTTP 请求-响应超时?

http 控制器回调通常 returns 一个 Future,一旦解决,就会传输响应。我想在 Finatra 中定义服务器在返回 500 或 400 响应之前应该等待多长时间。

我想,你正在寻找Future.within

您可以扩展 HttpServer 并定义您自己的超时

trait CustomServer extends HttpServer with Tls {

然后覆盖 configureHttpServer 方法并定义超时、请求站点和其他属性

  override def configureHttpServer(server: Http.Server): Http.Server = {
    server.withAdmissionControl.concurrencyLimit(maxConcurrentRequests = 2000, maxWaiters = 0)
      .withResponseClassifier(HttpResponseClassifier.ServerErrorsAsFailures)
      .withMaxRequestSize(StorageUnit.fromMegabytes(200))
      .withRequestTimeout(50.seconds)
  }