gh-get
v1.1.0
Published
Create a request to the Github API
Downloads
34
Maintainers
Readme
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-get
API
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.