mirror of
https://github.com/penpot/penpot.git
synced 2025-01-22 14:39:45 -05:00
🐛 Fix unexpected rare condition exception on rpc cond middleware
This commit is contained in:
parent
c841ed6419
commit
d4c775b1f4
1 changed files with 4 additions and 4 deletions
|
@ -48,20 +48,20 @@
|
|||
(str "W/\"" (encode s) "\""))
|
||||
|
||||
(defn wrap
|
||||
[_ f {:keys [::get-object ::key-fn ::reuse-key?] :as mdata}]
|
||||
[_ f {:keys [::get-object ::key-fn ::reuse-key?] :or {reuse-key? true} :as mdata}]
|
||||
(if (and (ifn? get-object) (ifn? key-fn))
|
||||
(do
|
||||
(l/trc :hint "instrumenting method" :service (::sv/name mdata))
|
||||
(fn [cfg {:keys [::key] :as params}]
|
||||
(if *enabled*
|
||||
(let [key' (when (or key reuse-key?)
|
||||
(let [key' (when (or reuse-key? key)
|
||||
(some->> (get-object cfg params) (key-fn params) (fmt-key)))]
|
||||
(if (and (some? key) (= key key'))
|
||||
(fn [_] {::rres/status 304})
|
||||
(let [result (f cfg params)
|
||||
etag (or (and reuse-key? key')
|
||||
(some-> result meta ::key fmt-key)
|
||||
(some-> result key-fn fmt-key))]
|
||||
(some->> result meta ::key fmt-key)
|
||||
(some->> result (key-fn params) fmt-key))]
|
||||
(rph/with-header result "etag" etag))))
|
||||
(f cfg params))))
|
||||
f))
|
||||
|
|
Loading…
Add table
Reference in a new issue