在jugglingdb中进行数据库访问后没有响应

时间:2013-04-15 08:50:13

标签: node.js express httprequest compoundjs jugglingdb

我尝试将我的compound.js-application用作(透明)代理服务器。当用户尝试请求外部网站时,应用程序将检查具有该IP地址的用户之前是否已经过身份验证。

如果是,将显示外部网站,否则,将鼓励用户登录。 问题是,当访问数据库对象“User”时,不处理响应。 当我注释掉数据库部分并只使用匿名函数内的代码时,程序按预期工作。

action('exturl', function () {
    User.all({ where: { ipaddress: req.ip }}, function(err, users) {
      if (users.length > 0) {                                                                                              
          this.user = user[0];                                                                                            

          var proxy = http.createClient(80, req.headers['host'])
          var proxy_request = proxy.request(req.method, req.url, req.headers);
          proxy_request.addListener('response', function (proxy_response) {
              proxy_response.addListener('data', function(chunk) {
                  res.write(chunk, 'binary');
              });
              proxy_response.addListener('end', function() {
                  res.end();
              });
              res.writeHead(proxy_response.statusCode, proxy_response.headers);
          });
          req.addListener('data', function(chunk) {
              proxy_request.write(chunk, 'binary');
          });
          req.addListener('end', function() {
              proxy_request.end();
          });
      } else {                                                                                                            
          redirect(path_to.login);                                                                                        
      }                                                                                                                   
    });
});

我的代码中是否有失败?我不知道我做错了什么。

0 个答案:

没有答案