UNPKG

closeheat

Version:

Static Website Hosting with CMS without touching your code.

47 lines (33 loc) 1.1 kB
Promise = require 'bluebird' request = Promise.promisify(require('request')) _ = require 'lodash' pkg = require '../package.json' Authorizer = require './authorizer' Log = require './log' module.exports = class Authorized @request: (opts) -> Log = require './log' Log.error("Request opts is not an object: #{opts}") unless _.isPlainObject(opts) opts.qs = _.merge(opts.form || {}, api_token: @token()) opts.headers = { 'X-CLI-Version': pkg.version } request(opts).then (resp) -> Permissions = require './permissions' Permissions.check(resp) Errors = require './errors' Errors.check(resp) resp[0].body @post: (url, data = {}) -> @validateUrl(url) @request(url: url, form: data, json: true, method: 'post') @get: (url) -> @validateUrl(url) @request(url: url, json: true, method: 'get') @validateUrl: (url) -> return if _.isString(url) Log.p("Url #{url} is not a string") process.exit() @token: -> Authorizer = require './authorizer' authorizer = new Authorizer() authorizer.accessToken()