gh-get v1.1.0
gh-get
A Node.js module to create a request to the Github API
const ghGet = require('gh-get');
ghGet('users/isaacs', {userAgent: 'your application name'}).then(response => {
response.body.login; //=> 'isaacs'
});Installation
npm install gh-getAPI
const ghGet = require('gh-get');ghGet(url , options)
url: String ("path" part of a Github API URL)
options: Object
Return: Promise
It makes a GET request to the Github API and returns a promise. Request method is overridable with the method option.
When the API request finishes successfully, the promise will be fulfilled with the http.IncomingMessage object with the additional body property that contains a JSON object of the API response.
Options
You can use Request options and the following.
options.userAgent
Type: String (GitHub username or the name of your application)
Required. Add user-agent to the request header.
options.token
Type: String
Default: process.env.GITHUB_TOKEN
Use specific GitHub access token.
ghGet('user', {
token: 'xxxxx' //=> for example @shinnn's access token
userAgent: 'Shinnosuke Watanabe https://github.com/shinnn/'
}).then(response => {
response.body.login; //=> 'shinnn'
});options.verbose
Type: Boolean
Default: false
true adds an http.IncomingMessage object to the error message as response property.
ghGet('user/repos', {token: 'invalid_token'}).then(err => {
err.message; //=> '401 Unauthorized (Bad credentials)'
'response' in error; //=> false
});
ghGet('user/repos', {
token: 'invalid_token',
verbose: true
}).then(err => {
err.message; //=> '401 Unauthorized (Bad credentials)'
err.response; //=> {statusCode: 401, body: { ... }, headers: { ... }, ...}
});options.baseUrl
Type: String
Default: process.env.GITHUB_ENDPOINT if available, otherwise 'https://api.github.com'
Use the different root endpoint to support Github enterprise.
License
Copyright (c) 2015 - 2017 Shinnosuke Watanabe
Licensed under the MIT License.