egraphql-fetch
v0.2.0
Published
Thin symmetrically encrypted GraphQL client powered by fetch
Downloads
4
Maintainers
Readme
graphql-fetch
Thin, symmetrically encrypted, GraphQL client powered by fetch.
(Based on the great work of tjmehta and compatible with graphql-fetch)
Installation
npm i --save egraphql-fetch
Usage
var fetch = require('graphql-fetch')(
'http://domain.com/graphql',
'keyId', // ... ID for the key (could be user-name)
'secretKey', // ... Secret Key to encrypt the data (could be password)
// cipherAlgorithm, ... Cipher algorithm used to encrypt the request (default: aes256)
// cipherPad ... Padding to make traffic guessing harder (defaults: 1024)
)
var query = `
query q (id: String!) {
user(id: $id) {
id,
email,
name
}
}
`
var queryVars = {
id: 'abcdef'
}
var opts = {
// custom fetch options
}
/**
* @param {Query} query graphql query
* @param {Object} [vars] graphql query args, optional
* @param {Object} [opts] fetch options, optional
*/
fetch(query, queryVars, opts).then(function (results) {
if (results.errors) {
//...
return
}
var user = result.data.user
//...
})
Notes
- Uses isomorphic-fetch under the hood, which makes
fetch
,Headers
,Request
, andResponse
globally available.
License
MIT