我在 OpenCPU 上有一个 R 函数(由 OpenCPU docker 映像提供:https ://hub.docker.com/r/opencpu/rstudio/ ),它按某些标准过滤数据。如果没有要返回的数据,我想发送一条带有 204 状态码的消息(无数据)。如何从 R 函数内部设置状态状态代码?
rApache 文档 ( http://rapache.net/manual.html ) 中有相关信息。据说rApache中有一个函数setStatus(),但是调用这个函数时我无法设置状态码。我试图设置 204 状态码,但我得到了一个默认(用于 POST)201 状态码。
filterData <- function(filter_a = NULL, filter_b = NULL) {
data <- as.data.frame(
list("a" = c(1,2,3), "b" = c(3,2,1))
)
if (!is.null(filter_a)) {
data <- subset(data, a == filter_a)
}
if (!is.null(filter_b)) {
data <- subset(data, b == filter_b)
}
if (nrow(data) == 0) {
setStatus(204L)
return("No content")
} else {
return(data)
}
}