diff --git a/ring-core/src/ring/util/request.clj b/ring-core/src/ring/util/request.clj index ff33fe4f..08cc6523 100644 --- a/ring-core/src/ring/util/request.clj +++ b/ring-core/src/ring/util/request.clj @@ -10,7 +10,7 @@ "://" (get-in request [:headers "host"]) (:uri request) - (when-let [query (:query-string request)] + (when-let [query (not-empty (:query-string request))] (str "?" query)))) (defn content-type diff --git a/ring-core/test/ring/util/test/request.clj b/ring-core/test/ring/util/test/request.clj index fa039902..6bdc7236 100644 --- a/ring-core/test/ring/util/test/request.clj +++ b/ring-core/test/ring/util/test/request.clj @@ -17,6 +17,11 @@ (is (= (request-url {:scheme :https :uri "/index.html" :headers {"host" "www.example.com"}}) + "https://www.example.com/index.html")) + (is (= (request-url {:scheme :https + :uri "/index.html" + :headers {"host" "www.example.com"} + :query-string ""}) "https://www.example.com/index.html"))) (deftest test-content-type