mirror of
https://github.com/thewesker/bug-em.git
synced 2025-12-21 20:41:05 -05:00
lol
This commit is contained in:
115
node_modules/request/examples/README.md
generated
vendored
Normal file
115
node_modules/request/examples/README.md
generated
vendored
Normal file
@@ -0,0 +1,115 @@
|
||||
|
||||
# Authentication
|
||||
|
||||
## OAuth
|
||||
|
||||
### OAuth1.0 Refresh Token
|
||||
|
||||
- http://oauth.googlecode.com/svn/spec/ext/session/1.0/drafts/1/spec.html#anchor4
|
||||
- https://developer.yahoo.com/oauth/guide/oauth-refreshaccesstoken.html
|
||||
|
||||
```js
|
||||
request.post('https://api.login.yahoo.com/oauth/v2/get_token', {
|
||||
oauth: {
|
||||
consumer_key: '...',
|
||||
consumer_secret: '...',
|
||||
token: '...',
|
||||
token_secret: '...',
|
||||
session_handle: '...'
|
||||
}
|
||||
}, function (err, res, body) {
|
||||
var result = require('querystring').parse(body)
|
||||
// assert.equal(typeof result, 'object')
|
||||
})
|
||||
```
|
||||
|
||||
### OAuth2 Refresh Token
|
||||
|
||||
- https://tools.ietf.org/html/draft-ietf-oauth-v2-31#section-6
|
||||
|
||||
```js
|
||||
request.post('https://accounts.google.com/o/oauth2/token', {
|
||||
form: {
|
||||
grant_type: 'refresh_token',
|
||||
client_id: '...',
|
||||
client_secret: '...',
|
||||
refresh_token: '...'
|
||||
},
|
||||
json: true
|
||||
}, function (err, res, body) {
|
||||
// assert.equal(typeof body, 'object')
|
||||
})
|
||||
```
|
||||
|
||||
# Multipart
|
||||
|
||||
## multipart/form-data
|
||||
|
||||
### Flickr Image Upload
|
||||
|
||||
- https://www.flickr.com/services/api/upload.api.html
|
||||
|
||||
```js
|
||||
request.post('https://up.flickr.com/services/upload', {
|
||||
oauth: {
|
||||
consumer_key: '...',
|
||||
consumer_secret: '...',
|
||||
token: '...',
|
||||
token_secret: '...'
|
||||
},
|
||||
// all meta data should be included here for proper signing
|
||||
qs: {
|
||||
title: 'My cat is awesome',
|
||||
description: 'Sent on ' + new Date(),
|
||||
is_public: 1
|
||||
},
|
||||
// again the same meta data + the actual photo
|
||||
formData: {
|
||||
title: 'My cat is awesome',
|
||||
description: 'Sent on ' + new Date(),
|
||||
is_public: 1,
|
||||
photo:fs.createReadStream('cat.png')
|
||||
},
|
||||
json: true
|
||||
}, function (err, res, body) {
|
||||
// assert.equal(typeof body, 'object')
|
||||
})
|
||||
```
|
||||
|
||||
# Streams
|
||||
|
||||
## `POST` data
|
||||
|
||||
Use Request as a Writable stream to easily `POST` Readable streams (like files, other HTTP requests, or otherwise).
|
||||
|
||||
TL;DR: Pipe a Readable Stream onto Request via:
|
||||
|
||||
```
|
||||
READABLE.pipe(request.post(URL));
|
||||
```
|
||||
|
||||
A more detailed example:
|
||||
|
||||
```js
|
||||
var fs = require('fs')
|
||||
, path = require('path')
|
||||
, http = require('http')
|
||||
, request = require('request')
|
||||
, TMP_FILE_PATH = path.join(path.sep, 'tmp', 'foo')
|
||||
;
|
||||
|
||||
// write a temporary file:
|
||||
fs.writeFileSync(TMP_FILE_PATH, 'foo bar baz quk\n');
|
||||
|
||||
http.createServer(function(req, res) {
|
||||
console.log('the server is receiving data!\n');
|
||||
req
|
||||
.on('end', res.end.bind(res))
|
||||
.pipe(process.stdout)
|
||||
;
|
||||
}).listen(3000).unref();
|
||||
|
||||
fs.createReadStream(TMP_FILE_PATH)
|
||||
.pipe(request.post('http://127.0.0.1:3000'))
|
||||
;
|
||||
```
|
||||
Reference in New Issue
Block a user