Created
July 14, 2015 18:20
-
-
Save kkemple/b58ef5e2b8b4ab650ce0 to your computer and use it in GitHub Desktop.
base level api client in ES6
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
import request from 'superagent'; | |
import Promise from 'bluebird'; | |
//set base headers here | |
const BASE_HEADERS = {}; | |
// set base url here | |
const BASE_URL = ''; | |
const apiClient = { | |
get (url, query = {}, headers = {}) { | |
return new Promise((res, rej) => { | |
request.get(BASE_URL + url) | |
.set(BASE_HEADERS) | |
.set(headers) | |
.query(query) | |
.end((err, response) => { | |
if (err) return rej(err); | |
return res(response.body); | |
}); | |
}); | |
}, | |
post (url, data = {}, query = {}, headers = {}) { | |
return new Promise((res, rej) => { | |
request.post(BASE_URL + url) | |
.set(BASE_HEADERS) | |
.set(headers) | |
.query(query) | |
.send(data) | |
.end((err, response) => { | |
if (err) return rej(err); | |
return res(response.body); | |
}); | |
}); | |
}, | |
put (url, data = {}, query = {}, headers = {}) { | |
return new Promise((res, rej) => { | |
request.put(BASE_URL + url) | |
.set(BASE_HEADERS) | |
.set(headers) | |
.query(query) | |
.send(data) | |
.end((err, response) => { | |
if (err) return rej(err); | |
return res(response.body); | |
}); | |
}); | |
}, | |
patch (url, data = {}, query = {}, headers = {}) { | |
return new Promise((res, rej) => { | |
request.patch(BASE_URL + url) | |
.set(BASE_HEADERS) | |
.set(headers) | |
.query(query) | |
.send(data) | |
.end((err, response) => { | |
if (err) return rej(err); | |
return res(response.body); | |
}); | |
}); | |
}, | |
delete (url, query = {}, headers = {}) { | |
return new Promise((res, rej) => { | |
request.delete(BASE_URL + url) | |
.set(BASE_HEADERS) | |
.set(headers) | |
.query(query) | |
.end((err, response) => { | |
if (err) return rej(err); | |
return res(response.body); | |
}); | |
}); | |
} | |
}; | |
export default apiClient; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment