UNPKG

cluedin-widget

Version:

This is the project for creating and managing widgets in CluedIn.

74 lines (55 loc) 1.61 kB
var config = require( '../config' ); var agent = require( 'superagent-promise' )( require( 'superagent' ), Promise ); var defaultHeaders = { Authorization: 'Bearer ' + config.token }; function isObject( obj ) { return Object( obj ) === obj; } var authRequest = function( method, url ) { url = config.url.auth + url; return agent( method, url ).set( defaultHeaders ); }; var apiRequest = function( method, url, data ) { url = config.url.api + url; return agent( method, url ).set( defaultHeaders ).then( function( resp ) { if ( resp ) { resp.__token = config.token; } return resp; } ); }; var setHeaders = function( field, value ) { if ( isObject( field ) ) { for( var key in field ) { this.set( key, field[ key ] ); } return this; } defaultHeaders[ field ] = value; return this }; var frontApiRequest = function( method, url, data ) { url = config.url.app + url; var agentCall = agent( method, url ); if ( data ) { agentCall = agentCall.send( data ) } return agentCall.withCredentials().set( defaultHeaders ); }; var rawRequest = function( method, url, data ) { return agent( method, url ).set( defaultHeaders ).then( function( resp ) { if ( resp ) { resp.__token = config.token; } return resp; } ); }; authRequest.set = setHeaders; apiRequest.set = setHeaders; module.exports = { authRequest: authRequest, apiRequest: apiRequest, frontApiRequest: frontApiRequest, rawRequest: rawRequest };