githubauthquerystring v4.0.0
Authorise GitHub API requests by appending the environments auth credentials to your request's query string.
npm
This project provides its type information via inline JSDoc Comments. To make use of this in TypeScript, set your maxNodeModuleJsDepth compiler option to 5
or thereabouts. You can accomlish this via your tsconfig.json
file like so:
{
"compilerOptions": {
"maxNodeModuleJsDepth": 5
}
}
Usage
Fetch
Use require('githubauthquerystring').fetch()
to fetch the GitHub Auth Query String that you need to authorise your GitHub API request to avoid rate limits.
Using environment variables:
const githubAuthQueryString = require('githubauthquerystring').fetch()
const githubApiURL = `https://api.github.com/some/call?${githubAuthQueryString}`
Using manual GITHUB_ACCESS_TOKEN
:
const githubAuthQueryString = require('githubauthquerystring').fetch({
GITHUB_ACCESS_TOKEN: 'value'
})
const githubApiURL = `https://api.github.com/some/call?${githubAuthQueryString}`
Using manual GITHUB_CLIENT_ID
and GITHUB_CLIENT_SECRET
:
const githubAuthQueryString = require('githubauthquerystring').fetch({
GITHUB_CLIENT_ID: 'value',
GITHUB_CLIENT_SECRET: 'value'
})
const githubApiURL = `https://api.github.com/some/call?${githubAuthQueryString}`
If the values did not exist or were not in a valid combination, then an empty string will be returned.
Redaction
Use require('githubauthquerystring').redact(url)
to redact the credentials from a URL for error handling and logging.
const {fetchGithubAuthQueryString, redactGithubAuthQueryString} = require('githubauthquerystring')
// fetch the url
const githubAuthQueryString = fetchGithubAuthQueryString({
GITHUB_CLIENT_ID: 'value',
GITHUB_CLIENT_SECRET: 'value'
})
const githubApiURL = `https://api.github.com/some/call?${githubAuthQueryString}`
// now redact it
const githubApiRedactedURL = redactGithubAuthQueryString(githubApiURL)
Discover the release history by heading on over to the HISTORY.md file.
Discover how you can contribute by heading on over to the CONTRIBUTING.md file.
These amazing people are maintaining this project:
No sponsors yet! Will you be the first?
These amazing people have contributed code to this project:
Discover how you can contribute by heading on over to the CONTRIBUTING.md file.
Unless stated otherwise all works are:
and licensed under: