From fefca14a26315e41c7e1e62417a13cefd4859908 Mon Sep 17 00:00:00 2001 From: arrdem Date: Mon, 22 Dec 2014 17:56:32 -0600 Subject: [PATCH] Handle requests for old URLs from CIDER specially Fixes #150 --- src/main/grimoire/web/routes.clj | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/grimoire/web/routes.clj b/src/main/grimoire/web/routes.clj index 5f1ad94e6..f94e87801 100644 --- a/src/main/grimoire/web/routes.clj +++ b/src/main/grimoire/web/routes.clj @@ -212,6 +212,8 @@ type op t)))))))))))))) (routing req)))) +(declare app) + (defroutes app (GET "/" {uri :uri :as req} (info (pr-str {:uri uri @@ -245,9 +247,15 @@ ;; Redirect legacy paths into the store (context ["/:version", :version #"[0-9]+.[0-9]+.[0-9]+"] [version] (fn [request] - (warn "Redirecting!") - (response/redirect (str "/store/org.clojure/clojure" - (:uri request))))) + (let [user-agent (get-in request [:headers "user-agent"]) + new-uri (str "/store/org.clojure/clojure" (:uri request)) + new-req (-> request + (assoc :uri new-uri) + (dissoc :context :path-info))] + (println new-req) + (if (= user-agent "URL/Emacs") + (#'app new-req) ;; pass it forwards + (response/redirect new-uri))))) ;; everyone else (route/not-found (fn [{uri :uri :as req}]