我不确定如何纠正您拥有的代码,但还有其他一些选择:
- 您可以在 Plumber 前面使用处理请求记录的代理。请参阅此处的示例。
- 您可以使用在任何端点处理请求之前执行的管道工过滤器。
.
#' @filter log
function(req){
cat("Incoming request for", req$PATH_INFO, "\n")
forward()
}
#' @get /
function(){
# ...
}
如果你想包含请求中提供的参数,你可以让你的过滤器接受...
。
#' @filter logger
function(...){
print(list(...))
forward()
}
对于像这样的请求server.org/endpoint?a=1&b=2
,这将打印出如下内容:
$res
<PlumberResponse>
Public:
body: NULL
clone: function (deep = FALSE)
headers: list
initialize: function (serializer = serializer_json())
serializer: function (val, req, res, errorHandler)
setCookie: function (name, value, path)
setHeader: function (name, value)
status: 200
toResponse: function ()
$req
<environment: 0x108fbdff0>
$a
[1] "1"
$b
[1] "2"