gpt4 book ai didi

scala - 如何在电梯中记录请求/响应

转载 作者:行者123 更新时间:2023-12-04 05:44:48 34 4
gpt4 key购买 nike

我有一个电梯项目,其中
有一个扩展 RestHelper 的类,看起来像这样

   serve{
"api" / "mystuff" prefix {
case a => ...
case b => ...
}
}

如何记录所有请求(包括 POST 参数)和响应而不将其添加到每个 case 语句中?

最佳答案

要记录请求,您可以使用 LiftRules.statelessRewrite(在 bootstrap.liftweb.Boot 中):

LiftRules.statelessRewrite.append {
case RewriteRequest(ParsePath("api" :: key :: Nil, "", true, _), _, _) =>
log.info("REST: %s" format key)
RewriteResponse("api" :: key :: Nil,true)
}

这将在以下休息服务器之前被拦截:
case "api":: key :: Nil Get _ => {
val email = S.param("email") getOrElse {
"missing email parameter"
}
Full(PlainTextResponse("succeeded: %s, %s" format (key,email)))
}

请注意,保留 url 参数。

要记录您使用的回复 LiftRules.afterSend
更新:

使用 afterSend 您实际上可以访问请求和响应。

关于scala - 如何在电梯中记录请求/响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10820168/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com