_ = require('lodash') Canvas = require('resin-platform-api') Promise = require('bluebird') settings = require('../settings') server = require('../server/server') promisifiedServerRequest = Promise.promisify(server.request, server) class CanvasRequestService extends Canvas(_, Promise) _request: (params) -> params.json = params.data params.gzip ?= true promisifiedServerRequest(params).spread (response, body) -> if 200 <= response.statusCode < 300 return body throw new Error(body) module.exports = new CanvasRequestService url: settings.get('remoteUrl') apiPrefix: settings.get('apiPrefix') withCredentials: true