Jak odpowiedzieć po stronie serwera na trasy przy użyciu Meteor i Iron-Router?

Wysyłam plik po stronie klienta po stronie serwera za pomocą XHR:

$(document).on('drop', function(dropEvent) {
    dropEvent.preventDefault();
    _.each(dropEvent.originalEvent.dataTransfer.files, function(file) {
        // ...
        xhr.open('POST', Router.routes['upload'].path(), true);
        xhr.send(file);
    });
})

Teraz chcę odpowiedzieć na tę stronę serwera POST i zapisać plik na dysku.Dokumenty zdaje się mówić tylko o obsłudze rzeczy po stronie klienta; Nie wiem nawet, jak zdobyć hak po stronie serwera.

Teraz mam tylko trasy:

Router.map(function() {
    this.route('home', {
        path: '/'
    });

    this.route('upload', {
        path: '/upload',
        action: function() {
            console.log('I never fire');
        }
    });
});

Zpołączyć, Mógłbym zrobić:

Connect.middleware.router(function(route) {
    route.post('/upload', function(req, res) {
        // my server-side code here
    });
});

Czy jest coś podobnego doIron-Router?

Przekopując się przez wewnętrzne elementy odkryłem, że Meteor używaconnect pod maską i mogę zrobić coś takiego:

WebApp.connectHandlers.use(function(req, res, next) {
    if(req.method === 'POST' && req.url === '/upload') {
        res.writeHead(200);
        res.end();
    } else next();
});

Ale nie mam pojęcia, jak uzyskać użytkownika w tym kontekście.

questionAnswers(4)

yourAnswerToTheQuestion