I'm making a webapp where people can review movies, and I'm trying to make it so users can't delete other users' reviews.
Here's my AngularJS function to delete movies:
$scope.del_movie = function(movie) {
    $http( {
        method: 'DELETE',
        url: '/movie/:title',
        params: {'title': movie.title},
        data: {'username': movie.username}
    }).then(function successCallback(response) {
        console.log(response);
        return getData();
    }, function errorCallback(response) {
        console.log('Error: ' + response);
    });
};
I've console.logged the movie.username and have received the correct username.
However, when this request gets routed to my express delete function, the req.body.username appears to be undefined. Here's that route:
app.delete("/movie/:title", requiresAuth(), function(req, res) {
    paramsUsernameString = req.body.username;
    oidcEmailString = JSON.stringify(req.oidc.user.email);
    console.log("movie " + req.params.title);
    if(paramsUsernameString != oidcEmailString){
        console.log("req.params.username " + paramsUsernameString + " req.oidc.user.username " + oidcEmailString);
        console.log("can't delete someone else's review!");
    }
    else{
        Movie.findOneAndRemove(req.query, function(err, result) {
            if ( err ) throw err;
            res.json( {
                message: "req.params.username " + paramsUsernameString + " req.oidc.user.username " + oidcEmailString,
                movie: result
            });
        });
    }
});
I've searched around, and most questions here on SO are resolved by requiring body-parser, but I've already done that:
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
My POST request also uses body-parser, and that one works fine.
Appreciate any help with this, happy to provide more information if needed. Thanks!
 
    