From 095dc2ad116e13a7fa39fed8889a811c9eff76ae Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Fri, 13 Jan 2023 09:48:34 +0100 Subject: [PATCH] :sparkles: Do not merge path params into params makes conflict with possible params coming from user --- backend/src/app/http.clj | 4 +--- backend/src/app/rpc.clj | 12 ++++++------ 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/backend/src/app/http.clj b/backend/src/app/http.clj index 976f42d6e..6cb6b398c 100644 --- a/backend/src/app/http.clj +++ b/backend/src/app/http.clj @@ -91,9 +91,7 @@ (let [params (:path-params match) result (:result match) handler (or (:handler result) not-found-handler) - request (-> request - (assoc :path-params params) - (update :params merge params))] + request (assoc request :path-params params)] (handler request respond raise)) (not-found-handler request respond raise))) diff --git a/backend/src/app/rpc.clj b/backend/src/app/rpc.clj index 01d2c1330..cdda84a0b 100644 --- a/backend/src/app/rpc.clj +++ b/backend/src/app/rpc.clj @@ -71,8 +71,8 @@ (defn- rpc-query-handler "Ring handler that dispatches query requests and convert between internal async flow into ring async flow." - [methods {:keys [profile-id session-id params] :as request} respond raise] - (let [type (keyword (:type params)) + [methods {:keys [profile-id session-id path-params params] :as request} respond raise] + (let [type (keyword (:type path-params)) data (-> params (assoc ::request-at (dt/now)) (assoc ::http/request request)) @@ -94,8 +94,8 @@ (defn- rpc-mutation-handler "Ring handler that dispatches mutation requests and convert between internal async flow into ring async flow." - [methods {:keys [profile-id session-id params] :as request} respond raise] - (let [type (keyword (:type params)) + [methods {:keys [profile-id session-id path-params params] :as request} respond raise] + (let [type (keyword (:type path-params)) data (-> params (assoc ::request-at (dt/now)) (assoc ::http/request request)) @@ -116,8 +116,8 @@ (defn- rpc-command-handler "Ring handler that dispatches cmd requests and convert between internal async flow into ring async flow." - [methods {:keys [profile-id session-id params] :as request} respond raise] - (let [cmd (keyword (:type params)) + [methods {:keys [profile-id session-id path-params params] :as request} respond raise] + (let [cmd (keyword (:type path-params)) etag (yrq/get-header request "if-none-match") data (-> params