gh-get

1.1.0 • Public • Published

gh-get

NPM version Build Status Coverage Status Dependency Status devDependency Status

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

Use npm.

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.

Package Sidebar

Install

npm i gh-get

Weekly Downloads

9

Version

1.1.0

License

MIT

Last publish

Collaborators

  • shinnn