Compare commits

...

2 Commits

Author SHA1 Message Date
AJ ONeal a95d003ed5
docs: link to form-data v2.x (JavaScript) docs 2021-08-06 15:27:06 -06:00
AJ ONeal 5149bc9dcb
docs: clarify stream usage 2021-08-06 14:07:03 -06:00
1 changed files with 20 additions and 5 deletions

View File

@ -48,14 +48,29 @@ In order to keep this library lightweight, performant, and keep the code easy to
read, the streaming behavior is **_slightly different_** from that of read, the streaming behavior is **_slightly different_** from that of
`request.js`. `request.js`.
```diff
-var request = require('request');
+var request = require('@root/request');
-var stream = request({ url, headers });
+var stream = await request({ url, headers });
let attachment = await new MailgunAPI.Attachment({
data: stream
})
```
Example:
```js ```js
var request = require('@root/request'); var request = require('@root/request');
var resp = await request({ var resp = await request({
url: 'http://www.google.com', url: 'http://www.google.com',
stream: true stream: true // true | 'filename.ext' | stream.Writable
}); });
// 'resp' itself is a ReadableStream
resp.on('data', function () { resp.on('data', function () {
// got some data // got some data
}); });
@ -64,8 +79,8 @@ resp.on('end', function () {
// the data has ended // the data has ended
}); });
// resp.stream is a Promise that is resolved when the read stream is destroyed // 'resp.stream' is a Promise that is resolved when the read stream is destroyed
await resp.stream; await resp.stream; // returns `undefined`
console.log('Done'); console.log('Done');
``` ```
@ -126,12 +141,12 @@ request.post('http://service.com/upload').form({key:'value'})
#### multipart/form-data (Multipart Form Uploads) #### multipart/form-data (Multipart Form Uploads)
For `multipart/form-data` we use the [form-data](https://github.com/form-data/form-data) library by [@felixge](https://github.com/felixge). For the most cases, you can pass your upload form data via the `formData` option. For `multipart/form-data` we use the [form-data](https://github.com/form-data/form-data/tree/v2.5.1) library by [@felixge](https://github.com/felixge). For the most cases, you can pass your upload form data via the `formData` option.
To use `form-data`, you must install it separately: To use `form-data`, you must install it separately:
```bash ```bash
npm install --save form-data@2 npm install --save form-data@2.x
``` ```
```js ```js