0
Fork 0
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:
Andrey Antukh 2022-12-07 14:43:07 +01:00
parent 9debfa3b27
commit d584ae5a0f
8 changed files with 27 additions and 27 deletions

View file

@ -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

View file

@ -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

View file

@ -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))))

View file

@ -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

View file

@ -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))

View file

@ -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))))

View file

@ -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

View file

@ -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))