我正在使用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帖子正常工作,应该采取适当的HTTP响应。
答案 0 :(得分:1)
除非我遗漏了一些东西,否则这是一些非常非标准的求解代码。此外,这与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);