Box API Irregular Headers

I am trying to upload an image with the box API and the request module. I tried the provided curl example without any problems.

I have a request all setup like this

var request = require("request");
var fs = require("fs");
var path = require("path");

request({
    url: "https://api.box.com/2.0/files/content",
    method: "POST",
    form: {
        filename: fs.createReadStream(path.join(__dirname, "midguts.jpg")),
        folder_id: "0"
    },
    headers: {
        api_key: "<API_KEY>",
        auth_token: "<AUTH_TOKEN>"
    }
}, function (error, response, body) {
    console.log(error);
    console.log(body);
});

The problem arises when I get to the headers part. The box API call for a headers string of

"Authorization: BoxAuth api_key=API_KEY&auth_token=AUTH_TOKEN"

but I with the request module I can only send an object of key, value pairs. I also looked at the docs for nodes http.request and found it has the same issue.

So the question is, why does the API not follow the standard key pair format and how can I send a POST request that will work?

Authorization is the name of the HTTP Header (see also). This might work better:

headers: {
    Authorization: "BoxAuth api_key=API_KEY&auth_token=AUTH_TOKEN"
}