我有一个使用 Spray Custom Directive0 的路由处理程序过滤器。
这个自定义指令的目的是构建一个请求过滤器来计时请求处理时间。
在spray自定义指令中,我可以使用RequestContext的函数withHttpResponseMapped来获取HttpResponse => HttpResponse的参数,并且 withHttpResponseMapped 将返回一个新的 RequestContext 对象,如下所示:
def timeRequestInterval: Directive0 = {
mapRequestContext { context =>
val requestTimer = new RequestTimer(context.request)
context.withHttpResponseMapped { response =>
requestTimer.stop()
response.mapEntity { entity =>
entity
}
}
}
现在我尝试将自定义指令从 Spray 迁移到Akka-Http(2.4.8),但我找不到 withHttpResponseMapped或 RequestContext 对象中可以采用“HttpResponse => HttpResponse”参数并返回新的 RequestContext 对象的任何函数。是否有任何受支持的功能或方法可以帮助我解决 Akka-Http 迁移中的这个问题?
提前感谢您的帮助。