restify 中正确的 http post 响应应该是什么?
What should a proper http post response be in restify?
我正在使用 node.js restify。
我有一个看起来像这样的 HTTP Post 处理程序;
var api_post_records = function (app, url_path) {
function post_handler(req, res, next) {
//code runs here
res.send("ok"); //have to run some response back, otherwise python http post requests will hang
app.post(url_path, post_handler);
}
如果我删除 res.send("ok");
行,它将导致 python http post 请求挂起。我不知道为什么。希望有人能提供答案。我必须发送一些虚拟 HTTP 响应,以免挂起 python 请求。尽管当前代码有效,但我想知道如果 HTTP post 正常工作,正确的 HTTP 响应应该是什么。
除非我遗漏了什么,否则这是一些非常不标准的 restify 代码。另外,这与Python无关。如果您注释掉 res.send() 方法,任何请求都应该失败,因为这是发送响应的方法。您还忘记调用 next()。另外,为什么要在 post_handler 中递归注册 post_handler?
这通常是您的代码的结构:
var restify = require('restify');
var server = restify.createServer();
var post_handler = function(req, res, next){
res.send('ok');
next();
}
server.post(url_path, post_handler);
server.listen(8000);
我正在使用 node.js restify。
我有一个看起来像这样的 HTTP Post 处理程序;
var api_post_records = function (app, url_path) {
function post_handler(req, res, next) {
//code runs here
res.send("ok"); //have to run some response back, otherwise python http post requests will hang
app.post(url_path, post_handler);
}
如果我删除 res.send("ok");
行,它将导致 python http post 请求挂起。我不知道为什么。希望有人能提供答案。我必须发送一些虚拟 HTTP 响应,以免挂起 python 请求。尽管当前代码有效,但我想知道如果 HTTP post 正常工作,正确的 HTTP 响应应该是什么。
除非我遗漏了什么,否则这是一些非常不标准的 restify 代码。另外,这与Python无关。如果您注释掉 res.send() 方法,任何请求都应该失败,因为这是发送响应的方法。您还忘记调用 next()。另外,为什么要在 post_handler 中递归注册 post_handler?
这通常是您的代码的结构:
var restify = require('restify');
var server = restify.createServer();
var post_handler = function(req, res, next){
res.send('ok');
next();
}
server.post(url_path, post_handler);
server.listen(8000);