kennethreitz/requests — pull request #1103 by dmckeone (2013-01-16 19:13:48+00:00)
Title: Restore the ability use a list of 2-tuples for the data parameter with requests.post.

As of [commit ef8563a](https://github.com/kennethreitz/requests/commit/ef8563ab36c6b52834ee9c35f6f75a424cd9ceef) the ability to pass a keyword argument like `data=[('key', 'value'), ('key', 'value2')]` was broken because the `is_stream` detection in `PreparedRequest.prepare_body(self, data, files)` fails to look for a list of 2-tuples.

Just in case this is deemed to be an unnecessary change (because the calling code could switch to using a dict), Il'l make note here that this is required in order to pass POST parameters where the key is the same, but values are different.

```
form_data = [('item', 1), ('item', 2), ('item', 3)]
resp = requests.post('http://www.example.com', data=form_data)
```