我想使用 R Web 服务器包 Rook 获取 POST 请求正文的原始文本。
我已经注册了 R 应用程序:
parsePOST <- function(env) {
request <- Rook::Request$new(env)
body <- request$body()
print(body)
}
R.server$add(app = parsePost, name = "reportGeneratorApp")
不幸的是,body
是一个Rook::RhttpdInputStream
. 我尝试过的事情:
这仅提供第一行:
body <- request$body()$read_lines()
结果:
{\n
这仅提供正文的开头,而与“Content-Length”标头无关。所有其他读取行都是
character(0)
. 此外,这些行在随机位置缺少数据。
body <- request$body()$read_lines(10)
结果:
[2] " \"data\": {\n "
[3] "evious\": [\n 2\n ],\n \"v"
[4] "e\": {\n \"Differentially private me"
[5] " \"values\": [\n 44.39"
[6] "an mechanismLaplace\"\n ],\n \"arguments\": ["
[7] " },\n \"batch\": [\n 1\n ]\n }\n "
[8] "\n ]\n }\n }\n },\n \"educ_income\": {\n \"ols\": {\n \"ols0\": {\n \"rel"
[9] ""
[10] ""
POST 请求由邮递员发送,标题为Content-Type: application/json
。
我很惊讶地发现检索请求正文如此困难。