Advertisement
Guest User

Untitled

a guest
Apr 22nd, 2019
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. const getQueryString = params => {
  2. return Object.keys(params)
  3. .map(k => {
  4. if (Array.isArray(params[k])) {
  5. return params[k]
  6. .map(val => `${encodeURIComponent(k)}[]=${encodeURIComponent(val)}`)
  7. .join("&");
  8. }
  9.  
  10. return `${encodeURIComponent(k)}=${encodeURIComponent(params[k])}`;
  11. })
  12. .join("&");
  13. };
  14.  
  15. const request = params => {
  16. var method = params.method || "GET";
  17. var qs = "";
  18. var body;
  19. var headers = params.headers || {
  20. Accept: "application/json",
  21. "Content-Type": "application/json"
  22. };
  23.  
  24. if (["GET", "DELETE"].indexOf(method) > -1)
  25. qs = "?" + getQueryString(params.data);
  26. // POST or PUT
  27. else body = JSON.stringify(params.data);
  28.  
  29. var url = params.url + qs;
  30.  
  31. return fetch(url, { method, headers, body }).then(response =>
  32. response.json()
  33. // .then(data => ({ status: response.status, data: data }))
  34. );
  35. };
  36.  
  37. export default {
  38. get: params => request(Object.assign({ method: "GET" }, params)),
  39. post: params => request(Object.assign({ method: "POST" }, params)),
  40. put: params => request(Object.assign({ method: "PUT" }, params)),
  41. patch: params => request(Object.assign({ method: "PATCH" }, params)),
  42. delete: params => request(Object.assign({ method: "DELETE" }, params))
  43. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement