mirror of
https://github.com/penpot/penpot.git
synced 2025-03-29 08:01:41 -05:00
✨ Improve json encode/decode api
This commit is contained in:
parent
9debfa3b27
commit
d584ae5a0f
8 changed files with 27 additions and 27 deletions
|
@ -64,7 +64,7 @@
|
||||||
nil)
|
nil)
|
||||||
|
|
||||||
(= 200 (:status response))
|
(= 200 (:status response))
|
||||||
(let [data (json/read (:body response))]
|
(let [data (json/decode (:body response))]
|
||||||
{:token-uri (get data :token_endpoint)
|
{:token-uri (get data :token_endpoint)
|
||||||
:auth-uri (get data :authorization_endpoint)
|
:auth-uri (get data :authorization_endpoint)
|
||||||
:user-uri (get data :userinfo_endpoint)})
|
:user-uri (get data :userinfo_endpoint)})
|
||||||
|
@ -172,7 +172,7 @@
|
||||||
:hint "unable to retrieve github emails"
|
:hint "unable to retrieve github emails"
|
||||||
:http-status status
|
:http-status status
|
||||||
:http-body body))
|
:http-body body))
|
||||||
(->> response :body json/read (filter :primary) first :email))))))
|
(->> response :body json/decode (filter :primary) first :email))))))
|
||||||
|
|
||||||
(defmethod ig/pre-init-spec ::providers/github [_]
|
(defmethod ig/pre-init-spec ::providers/github [_]
|
||||||
(s/keys :req [::http/client]))
|
(s/keys :req [::http/client]))
|
||||||
|
@ -278,7 +278,7 @@
|
||||||
(->> (http/req! cfg req)
|
(->> (http/req! cfg req)
|
||||||
(p/map (fn [{:keys [status body] :as res}]
|
(p/map (fn [{:keys [status body] :as res}]
|
||||||
(if (= status 200)
|
(if (= status 200)
|
||||||
(let [data (json/read body)]
|
(let [data (json/decode body)]
|
||||||
{:token (get data :access_token)
|
{:token (get data :access_token)
|
||||||
:type (get data :token_type)})
|
:type (get data :token_type)})
|
||||||
(ex/raise :type :internal
|
(ex/raise :type :internal
|
||||||
|
@ -316,7 +316,7 @@
|
||||||
(get info attr-kw)))
|
(get info attr-kw)))
|
||||||
|
|
||||||
(process-response [response]
|
(process-response [response]
|
||||||
(p/let [info (-> response :body json/read)
|
(p/let [info (-> response :body json/decode)
|
||||||
email (get-email info)]
|
email (get-email info)]
|
||||||
{:backend (:name provider)
|
{:backend (:name provider)
|
||||||
:email email
|
:email email
|
||||||
|
|
|
@ -427,7 +427,7 @@
|
||||||
val (.getValue o)]
|
val (.getValue o)]
|
||||||
(if (or (= typ "json")
|
(if (or (= typ "json")
|
||||||
(= typ "jsonb"))
|
(= typ "jsonb"))
|
||||||
(json/read val)
|
(json/decode val)
|
||||||
val))))
|
val))))
|
||||||
|
|
||||||
(defn decode-transit-pgobject
|
(defn decode-transit-pgobject
|
||||||
|
@ -462,9 +462,10 @@
|
||||||
(defn json
|
(defn json
|
||||||
"Encode as plain json."
|
"Encode as plain json."
|
||||||
[data]
|
[data]
|
||||||
(doto (org.postgresql.util.PGobject.)
|
(when data
|
||||||
(.setType "jsonb")
|
(doto (org.postgresql.util.PGobject.)
|
||||||
(.setValue (json/write-str data))))
|
(.setType "jsonb")
|
||||||
|
(.setValue (json/encode-str data)))))
|
||||||
|
|
||||||
;; --- Locks
|
;; --- Locks
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
|
|
||||||
(str/starts-with? header "application/json")
|
(str/starts-with? header "application/json")
|
||||||
(with-open [is (yrq/body request)]
|
(with-open [is (yrq/body request)]
|
||||||
(let [params (json/read is)]
|
(let [params (json/decode is)]
|
||||||
(-> request
|
(-> request
|
||||||
(assoc :body-params params)
|
(assoc :body-params params)
|
||||||
(update :params merge params))))
|
(update :params merge params))))
|
||||||
|
|
|
@ -73,7 +73,7 @@
|
||||||
:timeout 3000
|
:timeout 3000
|
||||||
:method :post
|
:method :post
|
||||||
:headers {"content-type" "application/json"}
|
:headers {"content-type" "application/json"}
|
||||||
:body (json/write payload)}
|
:body (json/encode payload)}
|
||||||
{:sync? true}))
|
{:sync? true}))
|
||||||
|
|
||||||
(defn- handle-event
|
(defn- handle-event
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
{:uri (cf/get :error-report-webhook)
|
{:uri (cf/get :error-report-webhook)
|
||||||
:method :post
|
:method :post
|
||||||
:headers {"content-type" "application/json"}
|
:headers {"content-type" "application/json"}
|
||||||
:body (json/write-str {:text text})}
|
:body (json/encode-str {:text text})}
|
||||||
{:sync? true})]
|
{:sync? true})]
|
||||||
|
|
||||||
(when (not= 200 (:status resp))
|
(when (not= 200 (:status resp))
|
||||||
|
|
|
@ -92,7 +92,7 @@
|
||||||
(.. socket (setReceiveTimeOut 5000))
|
(.. socket (setReceiveTimeOut 5000))
|
||||||
(loop []
|
(loop []
|
||||||
(let [msg (.recv ^ZMQ$Socket socket)
|
(let [msg (.recv ^ZMQ$Socket socket)
|
||||||
msg (ex/ignoring (json/read msg json-mapper))
|
msg (ex/ignoring (json/decode msg json-mapper))
|
||||||
msg (if (nil? msg) :empty msg)]
|
msg (if (nil? msg) :empty msg)]
|
||||||
(when (a/>!! output msg)
|
(when (a/>!! output msg)
|
||||||
(recur))))
|
(recur))))
|
||||||
|
|
|
@ -81,7 +81,7 @@
|
||||||
{:method :post
|
{:method :post
|
||||||
:uri (cf/get :telemetry-uri)
|
:uri (cf/get :telemetry-uri)
|
||||||
:headers {"content-type" "application/json"}
|
:headers {"content-type" "application/json"}
|
||||||
:body (json/write-str data)}
|
:body (json/encode-str data)}
|
||||||
{:sync? true})]
|
{:sync? true})]
|
||||||
(when (> (:status response) 206)
|
(when (> (:status response) 206)
|
||||||
(ex/raise :type :internal
|
(ex/raise :type :internal
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
;; Copyright (c) KALEIDOS INC
|
;; Copyright (c) KALEIDOS INC
|
||||||
|
|
||||||
(ns app.util.json
|
(ns app.util.json
|
||||||
(:refer-clojure :exclude [read])
|
|
||||||
(:require
|
(:require
|
||||||
[jsonista.core :as j]))
|
[jsonista.core :as j]))
|
||||||
|
|
||||||
|
@ -13,23 +12,23 @@
|
||||||
[params]
|
[params]
|
||||||
(j/object-mapper params))
|
(j/object-mapper params))
|
||||||
|
|
||||||
(defn write
|
(defn read!
|
||||||
|
([from] (j/read-value from j/keyword-keys-object-mapper))
|
||||||
|
([from mapper] (j/read-value from mapper)))
|
||||||
|
|
||||||
|
(defn write!
|
||||||
|
([to v] (j/write-value to v j/keyword-keys-object-mapper))
|
||||||
|
([to v mapper] (j/write-value to v mapper)))
|
||||||
|
|
||||||
|
(defn encode
|
||||||
([v] (j/write-value-as-bytes v j/keyword-keys-object-mapper))
|
([v] (j/write-value-as-bytes v j/keyword-keys-object-mapper))
|
||||||
([v mapper] (j/write-value-as-bytes v mapper)))
|
([v mapper] (j/write-value-as-bytes v mapper)))
|
||||||
|
|
||||||
(defn write-str
|
(defn decode
|
||||||
([v] (j/write-value-as-string v j/keyword-keys-object-mapper))
|
|
||||||
([v mapper] (j/write-value-as-string v mapper)))
|
|
||||||
|
|
||||||
(defn read
|
|
||||||
([v] (j/read-value v j/keyword-keys-object-mapper))
|
([v] (j/read-value v j/keyword-keys-object-mapper))
|
||||||
([v mapper] (j/read-value v mapper)))
|
([v mapper] (j/read-value v mapper)))
|
||||||
|
|
||||||
(defn encode
|
(defn encode-str
|
||||||
[v]
|
([v] (j/write-value-as-string v j/keyword-keys-object-mapper))
|
||||||
(j/write-value-as-bytes v j/keyword-keys-object-mapper))
|
([v mapper] (j/write-value-as-string v mapper)))
|
||||||
|
|
||||||
(defn decode
|
|
||||||
[v]
|
|
||||||
(j/read-value v j/keyword-keys-object-mapper))
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue