vlucas/frisby — pull request #62 by cjsaylor (2014-01-10 23:55:14+00:00)
Title: Allow false value for the data argument for raw body request.

Right now, it seems impossible to simply send raw content as part of the request body (for example if I was expecting to send XML). The issue is the need to set `data` to an empty object to get access to setting the `params` argument (`params.body`). However, when setting `data` to an empty object, the `if (data)` gets a truthy value from the empty object and overwrites the `outgoing.body`.

There were two options to fixing this issue.

* Add an additional parameter to the `params` argument to specify the `params.body` as being paramount:

```javascript
frisby.create('...')
.post('someurl.com', {}, {body: 'some body', raw: true})
.toss();
```

* Allow for `false` in the `data` argument to bypass the `outgoing.body` override:

```javascript
frisby.create('...')
.post('someurl.com', false, {body: 'some body'})
.toss();
```

I opted for the later option here, but fine with either (or a different approach altogether). Either of these approaches seemed to be the easiest to ensure backwards compatibility.