flatiron/union

everyauth middleware problem

tagisen opened this issue · 4 comments

Hi,

Can anyone help me with this:
I am trying to integrate everyauth with union server. I call the middleware on
before:[
everyauth.middleware(),
........ router.dispatch(...)
]

When I do this, the server blocks and doent return or do anything! Am I doing it wrong ?

Hi @isenbeqiri

Can you please post valid js code?

Also personal recommendation, don't use everyauth.

Nuno

Hi and thanks for your reply.

Here is my server settup.

server = union.createServer({
  onError: function(err) {
    var _this = this;
    if (err.status) {
      return fs.readFile('./public/404.html', function(error, content) {
        _this.response.writeHead(404);
        return _this.response.end(content, 'utf-8');
      });
    }
  },
  before: [
    everyauth.middleware(), function(request, response) {
      return router.dispatch(request, response, function(err, result) {
        if (err) {
          return fileServer.serve(request, response, function(err, result) {
            if (err) {
              sys.error("Error serving " + request.url + " - " + err.message);
              return response.emit('next');
            }
          });
        }
      });
    }
  ]
});

What do your recommend otherwise?

@isenbeqiri The following code works

server = union.createServer({
  onError: function(err, req, res) {
    if (err.status) {
      fs.readFile('./public/404.html', function(error, content) {
        res.writeHead(404);
        res.end(content, 'utf-8');
      });
    }
  },
  before: [
    connect.bodyParser(),
    connect.cookieParser(),
    connect.session({secret: 'mr ripley'}),
    everyauth.middleware(),
    function(req, res) {
      router.dispatch(req, res, function(err, result) {
        if (err) {
          return fileServer.serve(req, res, function(err, result) {
            if (err) {
              sys.error("Error serving " + req.url + " - " + err.message);
              res.emit('next');
            }
          });
        }
      });
    }
  ]
});

@dscape - what's wrong with everyauth? What do you recommend as an alternative?