如何在Spray中处理然后重定向?

时间:2015-01-24 10:22:21

标签: scala spray

我希望能够通过喷涂路由接收和处理请求,这将触发(在非常短的内部处理之后)重定向到另一个页面。我需要在重定向之前进行处理,因此使用redirect("/")是不够的。

到目前为止,我发现的唯一方法是编写一个完整的路由处理程序,但必须有一个我似乎无法理解的更简单的方法......

path("download") {
  get { ctx ⇒
    downloadInitiator.scheduleBackgroundDownload()
    ctx.redirect("/", StatusCodes.Found)
  }
}

编辑:要清楚,想象一下Spray服务器需要做一个非常小的,几乎荒谬的处理(让我们说在发送一个fire-and-forget消息到Akka集群之后) person已发布联系表单)然后执行重定向。

例如,一个完美的解决方案是,如果Spray允许redirect调用接收某种懒惰的可执行函数(就像现在complete的情况一样)而不是终止语句。

0 个答案:

没有答案