|
1 | 1 | (ns parts.frontend.api.core
|
2 | 2 | (:require [cljs.core.async :refer [chan put! <! go go-loop timeout]]
|
3 | 3 | [cljs-http.client :as http]
|
| 4 | + [cognitect.transit :as t] |
4 | 5 | [parts.frontend.utils.api :as utils]
|
5 | 6 | [parts.frontend.state :as state]))
|
6 | 7 |
|
|
23 | 24 | (let [base-config (get request-types req-type)
|
24 | 25 | method (:method base-config)
|
25 | 26 | headers {"Authorization" (utils/get-auth-header)
|
26 |
| - "Content-Type" "application/json"}] |
| 27 | + "Accept" "application/transit+json"}] |
27 | 28 | {:method method
|
28 | 29 | :url (str "/api" endpoint)
|
29 | 30 | :headers headers
|
|
41 | 42 | (go
|
42 | 43 | (try
|
43 | 44 | (let [response (<! (case method
|
44 |
| - :get (http/get url {:headers headers :query-params params}) |
45 |
| - :post (http/post url {:headers headers :json-params params}) |
46 |
| - :put (http/put url {:headers headers :json-params params}) |
47 |
| - :patch (http/patch url {:headers headers :json-params params}) |
48 |
| - :delete (http/delete url {:headers headers})))] |
| 45 | + :get (http/get url {:headers headers :query-params params :accept :transit+json}) |
| 46 | + :post (http/post url {:headers headers :transit-params params :accept :transit+json}) |
| 47 | + :put (http/put url {:headers headers :transit-params params :accept :transit+json}) |
| 48 | + :patch (http/patch url {:headers headers :transit-params params :accept :transit+json}) |
| 49 | + :delete (http/delete url {:headers headers :accept :transit+json})))] |
49 | 50 | (if (< (:status response) 400)
|
50 | 51 | (put! response-channel {:type type
|
51 |
| - :request request |
52 |
| - :response response |
53 |
| - :status :success}) |
| 52 | + :request request |
| 53 | + :response response |
| 54 | + :status :success}) |
54 | 55 | (put! response-channel {:type type
|
55 |
| - :request request |
56 |
| - :error {:message (str "HTTP Error: " (:status response)) |
57 |
| - :response response} |
58 |
| - :status :error}))) |
| 56 | + :request request |
| 57 | + :error {:message (str "HTTP Error: " (:status response)) |
| 58 | + :response response} |
| 59 | + :status :error}))) |
59 | 60 | (catch js/Error e
|
60 | 61 | (put! response-channel {:type type
|
61 | 62 | :request request
|
|
0 commit comments