Skip to content

Instantly share code, notes, and snippets.

@ttristan
Last active March 23, 2018 08:15
Show Gist options
  • Save ttristan/5dc61db4d6db2a18731d3b9caf351893 to your computer and use it in GitHub Desktop.
Save ttristan/5dc61db4d6db2a18731d3b9caf351893 to your computer and use it in GitHub Desktop.
exports.fetchGet = ({ endpoint }) => {
return new Promise((resolve, reject) => {
console.log("Requesting:", endpoint);
require("node-fetch")(endpoint)
.then(response => {
if (response.status === 200) return response.json();
else
return reject({
error: {
code: 71,
name: "Server Error",
message: "Server returned an error",
stackTrace: { status: response.status, statusText: response.statusText, request: endpoint }
}
});
})
.then(result => resolve(result))
.catch(error => reject(error));
});
};
exports.fetchPost = ({ endpoint, params = {} }) => {
return new Promise((resolve, reject) => {
require("node-fetch")(endpoint, {
method: "POST",
body: JSON.stringify({ params }),
headers: {
Accept: "application/json",
"Content-Type": "application/json"
}
})
.then(response => {
if (response.status === 200) return response.json();
else
return reject({
error: {
code: 72,
name: "Server Error",
message: "Server returned an error",
stackTrace: { status: response.status, statusText: response.statusText, request: { endpoint, params } }
}
});
})
.then(result => resolve(result))
.catch(error => reject(error));
});
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment