From c113bded4eb5c70be5be6874901535e4737dc631 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Thu, 1 Jan 2026 15:25:50 +0100 Subject: [PATCH 01/14] refactor: Remove unused required namespaces --- .../frontend-re-frame/src/cljs/frontend_re_frame/core.cljs | 1 - examples/openapi/src/example/server.clj | 1 - modules/reitit-core/src/reitit/impl.cljc | 3 +-- test/cljc/reitit/coercion_test.cljc | 4 +--- test/cljc/reitit/openapi_test.clj | 1 - test/cljc/reitit/ring_coercion_test.cljc | 6 +++--- test/cljc/reitit/ring_test.cljc | 3 ++- 7 files changed, 7 insertions(+), 12 deletions(-) diff --git a/examples/frontend-re-frame/src/cljs/frontend_re_frame/core.cljs b/examples/frontend-re-frame/src/cljs/frontend_re_frame/core.cljs index d53a91e4..8133c225 100644 --- a/examples/frontend-re-frame/src/cljs/frontend_re_frame/core.cljs +++ b/examples/frontend-re-frame/src/cljs/frontend_re_frame/core.cljs @@ -1,6 +1,5 @@ (ns frontend-re-frame.core (:require [re-frame.core :as re-frame] - [reagent.core :as reagent] [reagent.dom :as rd] [reitit.core :as r] [reitit.coercion.spec :as rss] diff --git a/examples/openapi/src/example/server.clj b/examples/openapi/src/example/server.clj index bfd65b3a..db2f367a 100644 --- a/examples/openapi/src/example/server.clj +++ b/examples/openapi/src/example/server.clj @@ -12,7 +12,6 @@ [reitit.ring.middleware.multipart :as multipart] [reitit.ring.middleware.parameters :as parameters] [ring.adapter.jetty :as jetty] - [malli.core :as malli] [muuntaja.core :as m])) (def Transaction diff --git a/modules/reitit-core/src/reitit/impl.cljc b/modules/reitit-core/src/reitit/impl.cljc index b65e7b0e..30c39ec2 100644 --- a/modules/reitit-core/src/reitit/impl.cljc +++ b/modules/reitit-core/src/reitit/impl.cljc @@ -1,7 +1,6 @@ (ns ^:no-doc reitit.impl #?(:cljs (:require-macros [reitit.impl])) - (:require [clojure.set :as set] - [clojure.string :as str] + (:require [clojure.string :as str] [meta-merge.core :as mm] [reitit.exception :as ex] [reitit.trie :as trie]) diff --git a/test/cljc/reitit/coercion_test.cljc b/test/cljc/reitit/coercion_test.cljc index 5089ba29..01d5d6c9 100644 --- a/test/cljc/reitit/coercion_test.cljc +++ b/test/cljc/reitit/coercion_test.cljc @@ -2,7 +2,6 @@ (:require [clojure.spec.alpha :as cs] [clojure.string :as str] [clojure.test :refer [deftest is testing]] - [malli.core :as m] [malli.experimental.lite :as l] [reitit.coercion :as coercion] [reitit.coercion.malli] @@ -10,8 +9,7 @@ [reitit.coercion.spec] [reitit.core :as r] [schema.core :as s] - [spec-tools.data-spec :as ds] - [malli.transform :as mt]) + [spec-tools.data-spec :as ds]) #?(:clj (:import (clojure.lang ExceptionInfo)))) diff --git a/test/cljc/reitit/openapi_test.clj b/test/cljc/reitit/openapi_test.clj index cc5e9dd0..01e82c8d 100644 --- a/test/cljc/reitit/openapi_test.clj +++ b/test/cljc/reitit/openapi_test.clj @@ -4,7 +4,6 @@ [jsonista.core :as j] [malli.core :as mc] [matcher-combinators.test :refer [match?]] - [matcher-combinators.matchers :as matchers] [muuntaja.core :as m] [reitit.coercion.malli :as malli] [reitit.coercion.schema :as schema] diff --git a/test/cljc/reitit/ring_coercion_test.cljc b/test/cljc/reitit/ring_coercion_test.cljc index 162d5c59..f62968c4 100644 --- a/test/cljc/reitit/ring_coercion_test.cljc +++ b/test/cljc/reitit/ring_coercion_test.cljc @@ -4,18 +4,18 @@ #?@(:clj [[muuntaja.core] [muuntaja.middleware] [jsonista.core :as j] - [reitit.ring.middleware.muuntaja]]) + [reitit.coercion.schema :as schema] + [reitit.ring.middleware.muuntaja] + [schema.core :as s]]) [malli.core :as m] [malli.util :as mu] [meta-merge.core :refer [meta-merge]] [reitit.coercion.malli :as malli] - [reitit.coercion.schema :as schema] [reitit.coercion.spec :as spec] [reitit.core :as r] [reitit.ring :as ring] [reitit.ring.spec] [reitit.ring.coercion :as rrc] - [schema.core :as s] [clojure.spec.alpha] [spec-tools.data-spec :as ds]) #?(:clj diff --git a/test/cljc/reitit/ring_test.cljc b/test/cljc/reitit/ring_test.cljc index e3ea297a..881b05bf 100644 --- a/test/cljc/reitit/ring_test.cljc +++ b/test/cljc/reitit/ring_test.cljc @@ -4,7 +4,8 @@ [reitit.core :as r] [reitit.middleware :as middleware] [reitit.ring :as ring] - [reitit.trie :as trie]) + #?(:clj [reitit.trie :as trie] + :cljs [reitit.trie :as-alias trie])) #?(:clj (:import (clojure.lang ExceptionInfo)))) From aa6c1ac460c4c4501d11dc9b771ae61f15fb85db Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Thu, 1 Jan 2026 15:33:52 +0100 Subject: [PATCH 02/14] test: Use .clj extension instead of .cljc Those tests are only working on Clojure. --- perf-test/clj/reitit/{json_perf.cljc => json_perf.clj} | 0 perf-test/clj/reitit/{json_size_perf.cljc => json_size_perf.clj} | 0 perf-test/clj/reitit/{request_perf.cljc => request_perf.clj} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename perf-test/clj/reitit/{json_perf.cljc => json_perf.clj} (100%) rename perf-test/clj/reitit/{json_size_perf.cljc => json_size_perf.clj} (100%) rename perf-test/clj/reitit/{request_perf.cljc => request_perf.clj} (100%) diff --git a/perf-test/clj/reitit/json_perf.cljc b/perf-test/clj/reitit/json_perf.clj similarity index 100% rename from perf-test/clj/reitit/json_perf.cljc rename to perf-test/clj/reitit/json_perf.clj diff --git a/perf-test/clj/reitit/json_size_perf.cljc b/perf-test/clj/reitit/json_size_perf.clj similarity index 100% rename from perf-test/clj/reitit/json_size_perf.cljc rename to perf-test/clj/reitit/json_size_perf.clj diff --git a/perf-test/clj/reitit/request_perf.cljc b/perf-test/clj/reitit/request_perf.clj similarity index 100% rename from perf-test/clj/reitit/request_perf.cljc rename to perf-test/clj/reitit/request_perf.clj From 20735730c9d248db838e3b0e303c64fd0b4806bd Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Thu, 1 Jan 2026 15:45:54 +0100 Subject: [PATCH 03/14] chore: Lint defspec as deftest --- .clj-kondo/config.edn | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.clj-kondo/config.edn b/.clj-kondo/config.edn index 9c08ee56..89da9f5b 100644 --- a/.clj-kondo/config.edn +++ b/.clj-kondo/config.edn @@ -1,5 +1,6 @@ {;;:skip-comments true - :lint-as {potemkin/def-derived-map clojure.core/defrecord} + :lint-as {potemkin/def-derived-map clojure.core/defrecord + clojure.test.check.clojure-test/defspec clojure.test/deftest} :linters {:missing-else-branch {:level :off} :unused-binding {:level :off} :unused-referred-var {:exclude {clojure.test [deftest testing is are] From 579eb28a50491dc7e3bca7713836e9844c6d0f1c Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Thu, 1 Jan 2026 15:50:04 +0100 Subject: [PATCH 04/14] refactor: Remove redundant str calls --- modules/reitit-core/src/reitit/coercion.cljc | 2 +- modules/reitit-dev/src/reitit/dev/pretty.cljc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/reitit-core/src/reitit/coercion.cljc b/modules/reitit-core/src/reitit/coercion.cljc index 4ecdd5a4..5288ef5d 100644 --- a/modules/reitit-core/src/reitit/coercion.cljc +++ b/modules/reitit-core/src/reitit/coercion.cljc @@ -244,7 +244,7 @@ (if coercer (let [result (coercer query-params :default)] (if (error? result) - (throw (ex-info (str "Query parameters coercion failed") + (throw (ex-info "Query parameters coercion failed" result)) result)) query-params)))) diff --git a/modules/reitit-dev/src/reitit/dev/pretty.cljc b/modules/reitit-dev/src/reitit/dev/pretty.cljc index 78e683a3..ac388eef 100644 --- a/modules/reitit-dev/src/reitit/dev/pretty.cljc +++ b/modules/reitit-dev/src/reitit/dev/pretty.cljc @@ -190,7 +190,7 @@ (color :title message " ") (color :title-dark (repeat-str "-" between) " ") (color :title source) " " - (color :title-dark (str "--"))])) + (color :title-dark "--")])) (defn footer [{:keys [width]}] (color :title-dark (repeat-str "-" width))) From 3191d9ee596e36d2dc2b90bc3262577fa8b7471e Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Thu, 1 Jan 2026 15:54:21 +0100 Subject: [PATCH 05/14] refactor: Remove unneeded and --- modules/reitit-dev/src/reitit/dev/pretty.cljc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/reitit-dev/src/reitit/dev/pretty.cljc b/modules/reitit-dev/src/reitit/dev/pretty.cljc index ac388eef..261f8ddc 100644 --- a/modules/reitit-dev/src/reitit/dev/pretty.cljc +++ b/modules/reitit-dev/src/reitit/dev/pretty.cljc @@ -174,7 +174,7 @@ ;; TODO: this is hack, but seems to work and is safe. (defn source-str [[target _ file line]] (try - (if (and (not= 1 line)) + (if (not= 1 line) (let [file-name (str/replace file #"(.*?)\.\S[^\.]+" "$1") target-name (name target) ns (str (subs target-name 0 (or (str/index-of target-name (str file-name "$")) 0)) file-name)] From e6137cb47a22b96f160e2c64362fd6603fd8d4b1 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Thu, 1 Jan 2026 15:55:25 +0100 Subject: [PATCH 06/14] refactor: Remove redundant let --- modules/reitit-http/src/reitit/http.cljc | 12 ++++++------ test/clj/reitit/http_test.clj | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/reitit-http/src/reitit/http.cljc b/modules/reitit-http/src/reitit/http.cljc index db4158b0..bc8c0da3 100644 --- a/modules/reitit-http/src/reitit/http.cljc +++ b/modules/reitit-http/src/reitit/http.cljc @@ -22,12 +22,12 @@ compile (fn [[path data] opts scope] (interceptor/compile-result [path data] opts scope)) ->endpoint (fn [p d m s] - (let [d (ring/-compile-coercion d)] - (let [compiled (compile [p d] opts s)] - (-> compiled - (map->Endpoint) - (assoc :path p) - (assoc :method m))))) + (let [d (ring/-compile-coercion d) + compiled (compile [p d] opts s)] + (-> compiled + (map->Endpoint) + (assoc :path p) + (assoc :method m)))) ->methods (fn [any? data] (reduce (fn [acc method] diff --git a/test/clj/reitit/http_test.clj b/test/clj/reitit/http_test.clj index 1f04f72c..02686f1f 100644 --- a/test/clj/reitit/http_test.clj +++ b/test/clj/reitit/http_test.clj @@ -308,10 +308,10 @@ ["/ping" {:get {:interceptors [{:enter #(a/go %)}] :handler (fn [_] (a/go response))}}]) (ring/create-default-handler) - {:executor sieppari/executor})] - (let [respond (promise)] - (app {:request-method :get, :uri "/ping"} respond ::irrelevant) - (is (= response (deref respond 100 ::timeout))))))) + {:executor sieppari/executor}) + respond (promise)] + (app {:request-method :get, :uri "/ping"} respond ::irrelevant) + (is (= response (deref respond 100 ::timeout)))))) (defrecord MyAsyncContext []) From e342ac5401815b2b71deee1b940ac0e719b43328 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Thu, 1 Jan 2026 16:00:45 +0100 Subject: [PATCH 07/14] test: Comment unused values --- perf-test/clj/reitit/json_size_perf.clj | 10 +++++----- perf-test/clj/reitit/nodejs_perf_test.clj | 24 +++++++++++------------ 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/perf-test/clj/reitit/json_size_perf.clj b/perf-test/clj/reitit/json_size_perf.clj index b9bd9c41..14101410 100644 --- a/perf-test/clj/reitit/json_size_perf.clj +++ b/perf-test/clj/reitit/json_size_perf.clj @@ -53,27 +53,27 @@ request (json-request data) request! (request-stream request)]] - "10b" + ;; # 10b ;; 38µs (c-api 1.x) ;; 14µs (c-api 2.0.0-alpha21) ;; 6µs - "100b" + ;; # 100b ;; 74µs (c-api 1.x) ;; 16µs (c-api 2.0.0-alpha21) ;; 8µs - "1k" + ;; # 1k ;; 322µs (c-api 1.x) ;; 24µs (c-api 2.0.0-alpha21) ;; 16µs - "10k" + ;; # 10k ;; 3300µs (c-api 1.x) ;; 120µs (c-api 2.0.0-alpha21) ;; 110µs - "100k" + ;; # 100k ;; 10600µs (c-api 1.x) ;; 1100µs (c-api 2.0.0-alpha21) ;; 1100µs diff --git a/perf-test/clj/reitit/nodejs_perf_test.clj b/perf-test/clj/reitit/nodejs_perf_test.clj index 40fde7a0..ff727063 100644 --- a/perf-test/clj/reitit/nodejs_perf_test.clj +++ b/perf-test/clj/reitit/nodejs_perf_test.clj @@ -37,40 +37,40 @@ (defn routing-test [] ;; 21385 / 14337 - "barista" + ;; "barista" ;; 26259 / 25571 - "choreographer" + ;; "choreographer" ;; 24277 / 19174 - "clutch" + ;; "clutch" ;; 26158 / 25584 - "connect" + ;; "connect" ;; 24614 / 25413 - "escort" + ;; "escort" ;; 21979 / 18595 - "express" + ;; "express" ;; 23123 / 25405 - "find-my-way" + ;; "find-my-way" ;; 24798 / 25286 - "http-hash" + ;; "http-hash" ;; 24215 / 23670 - "i40" + ;; "i40" ;; 23561 / 26278 - "light-router" + ;; "light-router" ;; 28362 / 30056 - "http-raw" + ;; "http-raw" ;; 25310 / 25126 - "regex" + ;; "regex" ;; 112719 / 113959 (title "reitit") From 218f05972e4e5aba9e85975461548efc83330a8a Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Thu, 1 Jan 2026 16:18:04 +0100 Subject: [PATCH 08/14] test: Remove unused def --- test/cljc/reitit/coercion_test.cljc | 1 - 1 file changed, 1 deletion(-) diff --git a/test/cljc/reitit/coercion_test.cljc b/test/cljc/reitit/coercion_test.cljc index 01d5d6c9..1408c114 100644 --- a/test/cljc/reitit/coercion_test.cljc +++ b/test/cljc/reitit/coercion_test.cljc @@ -108,7 +108,6 @@ (testing "spec-coercion (shallow)" (testing "succeeds" (let [m (r/match-by-path r "/spec-shallow/1/abba")] - (def MATCH m) (is (= {:path {:keyword :abba, :number 1}, :query nil} (coercion/coerce! m)))) (let [m (r/match-by-path r "/spec-shallow/1/abba")] From e4c53a64e2bf469b885bb4ae07f6fd5c8b5a8517 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Thu, 1 Jan 2026 16:18:19 +0100 Subject: [PATCH 09/14] test: Add missing protocol method implementation --- perf-test/clj/reitit/coercion_perf_test.clj | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/perf-test/clj/reitit/coercion_perf_test.clj b/perf-test/clj/reitit/coercion_perf_test.clj index 4647ccc1..c3ec5621 100644 --- a/perf-test/clj/reitit/coercion_perf_test.clj +++ b/perf-test/clj/reitit/coercion_perf_test.clj @@ -80,12 +80,15 @@ (defrecord NoOpCoercion [] coercion/Coercion (-get-name [_] :no-op) + (-get-options [_]) (-get-apidocs [_ _ {:keys [parameters responses] :as info}]) + (-get-model-apidocs [_ _ _ _]) (-compile-model [_ model _] model) (-open-model [_ spec] spec) (-encode-error [_ error] error) (-request-coercer [_ type spec] (fn [value format] value)) - (-response-coercer [this spec] (coercion/request-coercer this :response spec {}))) + (-response-coercer [this spec] (coercion/request-coercer this :response spec {})) + (-query-string-coercer [_ _])) (comment (doseq [coercion [nil (->NoOpCoercion) spec/coercion]] From 54a040f136e01b999293c67c838d4d29971eb6a0 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Thu, 1 Jan 2026 17:19:51 +0100 Subject: [PATCH 10/14] test: Use atom in reloading-ring-handler-test This removes usage of inline defs. --- test/cljc/reitit/ring_test.cljc | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/test/cljc/reitit/ring_test.cljc b/test/cljc/reitit/ring_test.cljc index 881b05bf..ca3d9a20 100644 --- a/test/cljc/reitit/ring_test.cljc +++ b/test/cljc/reitit/ring_test.cljc @@ -848,23 +848,22 @@ (let [body (:body (app {:request-method :get, :uri (str "/" n)}))] (is (= body (str n)))))))))))) -(declare routes) +(def routes (atom nil)) (deftest reloading-ring-handler-test (let [r (fn [body] {:status 200, :body body})] - (def routes ["/" (constantly (r "1"))]) ;; initial value - - (let [create-handler (fn [] (ring/ring-handler (ring/router routes)))] + (reset! routes ["/" (constantly (r "1"))]) ;; initial value + (let [create-handler (fn [] (ring/ring-handler (ring/router @routes)))] (testing "static ring handler does not see underlying route changes" (let [app (create-handler)] (is (= (r "1") (app {:uri "/", :request-method :get}))) - (def routes ["/" (constantly (r "2"))]) ;; redefine + (reset! routes ["/" (constantly (r "2"))]) ;; redefine (is (= (r "1") (app {:uri "/", :request-method :get}))))) (testing "reloading ring handler sees underlying route changes" (let [app (ring/reloading-ring-handler create-handler)] (is (= (r "2") (app {:uri "/", :request-method :get}))) - (def routes ["/" (constantly (r "3"))]) ;; redefine again + (reset! routes ["/" (constantly (r "3"))]) ;; redefine again (is (= (r "3") (app {:uri "/", :request-method :get})))))))) (defrecord FooTest [a b]) From 2597d1412570deaeac7d9b22e65733b3824d38ac Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Thu, 1 Jan 2026 17:22:03 +0100 Subject: [PATCH 11/14] refactor: Ignore :missing-protocol-method linter --- test/cljc/reitit/core_test.cljc | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/test/cljc/reitit/core_test.cljc b/test/cljc/reitit/core_test.cljc index 17c3e4b2..0be783f0 100644 --- a/test/cljc/reitit/core_test.cljc +++ b/test/cljc/reitit/core_test.cljc @@ -1,10 +1,9 @@ (ns reitit.core-test (:require [clojure.test :refer [are deftest is testing]] - [reitit.core :as r #?@(:cljs [:refer [Router]])] + [reitit.core :as r] [reitit.impl :as impl]) #?(:clj - (:import (clojure.lang ExceptionInfo) - (reitit.core Router)))) + (:import (clojure.lang ExceptionInfo)))) (defn- var-handler [& _] "var-handler") @@ -261,10 +260,12 @@ (is (= #'var-handler result)))))) (testing "custom router" - (let [router (r/router ["/ping"] {:router (fn [_ _] - (reify Router - (r/router-name [_] - ::custom)))})] + (let [router (r/router + ["/ping"] + {:router (fn [_ _] + #_{:clj-kondo/ignore [:missing-protocol-method]} + (reify r/Router + (router-name [_] ::custom)))})] (is (= ::custom (r/router-name router))))) (testing "bide sample" From e3180e4d6a0d20a6948eda52523bdd2da6274714 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Thu, 1 Jan 2026 17:40:47 +0100 Subject: [PATCH 12/14] refactor: Reify protocol instead of interface --- modules/reitit-pedestal/src/reitit/pedestal.clj | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/modules/reitit-pedestal/src/reitit/pedestal.clj b/modules/reitit-pedestal/src/reitit/pedestal.clj index 04c262f8..c71f8873 100644 --- a/modules/reitit-pedestal/src/reitit/pedestal.clj +++ b/modules/reitit-pedestal/src/reitit/pedestal.clj @@ -4,8 +4,7 @@ [io.pedestal.interceptor.chain :as chain] [reitit.http] [reitit.interceptor]) - (:import (java.lang.reflect Method) - (reitit.interceptor Executor))) + (:import (java.lang.reflect Method))) ;; TODO: variadic (defn- arities [f] @@ -46,7 +45,7 @@ (def pedestal-executor (reify - Executor + reitit.interceptor/Executor (queue [_ interceptors] (->> interceptors (map (fn [{::interceptor/keys [handler] :as interceptor}] From 8721c7ae37ee9de95ab45fd8d57105daef0a5eb6 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Thu, 1 Jan 2026 17:59:24 +0100 Subject: [PATCH 13/14] refactor: Implement all Executor protocol method --- modules/reitit-core/src/reitit/exception.cljc | 4 ++++ modules/reitit-pedestal/src/reitit/pedestal.clj | 5 +++++ .../reitit-sieppari/src/reitit/interceptor/sieppari.clj | 7 +++++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/modules/reitit-core/src/reitit/exception.cljc b/modules/reitit-core/src/reitit/exception.cljc index df61b66a..2ac4383d 100644 --- a/modules/reitit-core/src/reitit/exception.cljc +++ b/modules/reitit-core/src/reitit/exception.cljc @@ -7,6 +7,10 @@ ([type data] (throw (ex-info (str type) {:type type, :data data})))) +(defn unsupported-protocol-method! + [method] + (fail! :unsupported-protocol-method {:method method})) + (defn get-message [e] #?(:clj (.getMessage ^Exception e) :cljs (ex-message e))) diff --git a/modules/reitit-pedestal/src/reitit/pedestal.clj b/modules/reitit-pedestal/src/reitit/pedestal.clj index c71f8873..b98345f5 100644 --- a/modules/reitit-pedestal/src/reitit/pedestal.clj +++ b/modules/reitit-pedestal/src/reitit/pedestal.clj @@ -2,6 +2,7 @@ (:require [io.pedestal.http :as http] [io.pedestal.interceptor :as interceptor] [io.pedestal.interceptor.chain :as chain] + [reitit.exception :as ex] [reitit.http] [reitit.interceptor]) (:import (java.lang.reflect Method))) @@ -51,6 +52,10 @@ (map (fn [{::interceptor/keys [handler] :as interceptor}] (or handler interceptor))) (keep ->interceptor))) + (execute [_ _ _] + (ex/unsupported-protocol-method! 'reitit.interceptor/execute)) + (execute [_ _ _ _ _] + (ex/unsupported-protocol-method! 'reitit.interceptor/execute)) (enqueue [_ context interceptors] (chain/enqueue context interceptors)))) diff --git a/modules/reitit-sieppari/src/reitit/interceptor/sieppari.clj b/modules/reitit-sieppari/src/reitit/interceptor/sieppari.clj index 1fa4e242..f8725037 100644 --- a/modules/reitit-sieppari/src/reitit/interceptor/sieppari.clj +++ b/modules/reitit-sieppari/src/reitit/interceptor/sieppari.clj @@ -1,5 +1,6 @@ (ns reitit.interceptor.sieppari - (:require [reitit.interceptor :as interceptor] + (:require [reitit.exception :as ex] + [reitit.interceptor :as interceptor] [sieppari.core :as sieppari] [sieppari.queue :as queue])) @@ -15,4 +16,6 @@ (execute [_ interceptors request] (sieppari/execute interceptors request)) (execute [_ interceptors request respond raise] - (sieppari/execute interceptors request respond raise)))) + (sieppari/execute interceptors request respond raise)) + (enqueue [_ _ _] + (ex/unsupported-protocol-method! 'reitit.interceptor/enqueue)))) From 63429a2d1ef6f5e68ba6906c5cf36c9b69b7434c Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Thu, 1 Jan 2026 18:13:53 +0100 Subject: [PATCH 14/14] chore: Run Linter on CI --- .github/workflows/testsuite.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/testsuite.yml b/.github/workflows/testsuite.yml index fd8f56bb..b532072f 100644 --- a/.github/workflows/testsuite.yml +++ b/.github/workflows/testsuite.yml @@ -36,12 +36,16 @@ jobs: uses: DeLaGuardo/setup-clojure@13.1 with: lein: 2.9.5 + clj-kondo: 2025.12.23 # Install openapi-schema-validator for openapi-tests # Uses node version from the ubuntu-latest - name: Install dependencies run: npm ci + - name: Run Linter + run: ./lint.sh + - name: Run tests run: ./scripts/test.sh clj