From b83b98427fe08f064df2ea1a9ae220d5520b768b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Je=CC=81re=CC=81my=20Van=20de=20Wyngaert?= Date: Tue, 21 Nov 2017 13:17:13 +0100 Subject: [PATCH 1/2] Properly report ring request parameters --- src/circleci/rollcage/ring_middleware.clj | 3 ++- test/circleci/rollcage/test_ring_middleware.clj | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/circleci/rollcage/ring_middleware.clj b/src/circleci/rollcage/ring_middleware.clj index 2e19bdf..0655392 100644 --- a/src/circleci/rollcage/ring_middleware.clj +++ b/src/circleci/rollcage/ring_middleware.clj @@ -8,5 +8,6 @@ (try (handler req) (catch Exception e - (rollcage/error rollcage-client e (select-keys req [:uri])) + (rollcage/error rollcage-client e {:url (:uri req) + :params (dissoc req :uri)}) (throw e)))))) diff --git a/test/circleci/rollcage/test_ring_middleware.clj b/test/circleci/rollcage/test_ring_middleware.clj index 5c286c9..716a835 100644 --- a/test/circleci/rollcage/test_ring_middleware.clj +++ b/test/circleci/rollcage/test_ring_middleware.clj @@ -9,7 +9,9 @@ dummy-ring-handler (fn [_] (throw error) {:status 200}) - dummy-request {:uri "/" :params {}}] + dummy-request {:http-method :get + :uri "/search" + :query-string "q=clojure"}] (testing "Reports rollbars when rollcage-client is truthy" (let [dummy-rollcage-client {} wrapped-handler (middleware/wrap-rollbar dummy-ring-handler @@ -20,7 +22,8 @@ (catch Exception e e))] (is (= result error)) - (is (= [[dummy-rollcage-client error {:uri "/"}]] + (is (= [[dummy-rollcage-client error {:url "/search" :params {:http-method :get + :query-string "q=clojure"}}]] (->> rollcage/error bond/calls (map :args)))))))) From 25e88316ad155cd41a65c374011b858eeca9de4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Je=CC=81re=CC=81my=20Van=20de=20Wyngaert?= Date: Wed, 22 Nov 2017 09:46:32 +0100 Subject: [PATCH 2/2] select keys to be sent by ring-middleware --- src/circleci/rollcage/ring_middleware.clj | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/circleci/rollcage/ring_middleware.clj b/src/circleci/rollcage/ring_middleware.clj index 0655392..f750dd7 100644 --- a/src/circleci/rollcage/ring_middleware.clj +++ b/src/circleci/rollcage/ring_middleware.clj @@ -1,6 +1,10 @@ (ns circleci.rollcage.ring-middleware (:require [circleci.rollcage.core :as rollcage])) +(def ^:const request-and-wrap-parameter-keys + "selector for keys provided by ring's request map and by ring's wrap-parameter middleware" + [:http-method :query-string :query-params :form-params :params]) + (defn wrap-rollbar [handler rollcage-client] (if-not rollcage-client handler @@ -9,5 +13,5 @@ (handler req) (catch Exception e (rollcage/error rollcage-client e {:url (:uri req) - :params (dissoc req :uri)}) + :params (select-keys req request-and-wrap-parameter-keys)}) (throw e))))))