Repository: storm Updated Branches: refs/heads/master cd6206320 -> 20084ba34
STORM-708. CORS support for STORM UI. Project: http://git-wip-us.apache.org/repos/asf/storm/repo Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/0201a90a Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/0201a90a Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/0201a90a Branch: refs/heads/master Commit: 0201a90aec9a73c75ec7bed640ddf70efb1874d8 Parents: 3d48f42 Author: Sriharsha Chintalapani <[email protected]> Authored: Mon Mar 16 15:33:31 2015 -0700 Committer: Sriharsha Chintalapani <[email protected]> Committed: Mon Mar 16 15:33:31 2015 -0700 ---------------------------------------------------------------------- storm-core/src/clj/backtype/storm/ui/helpers.clj | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/storm/blob/0201a90a/storm-core/src/clj/backtype/storm/ui/helpers.clj ---------------------------------------------------------------------- diff --git a/storm-core/src/clj/backtype/storm/ui/helpers.clj b/storm-core/src/clj/backtype/storm/ui/helpers.clj index 925b9dc..562a407 100644 --- a/storm-core/src/clj/backtype/storm/ui/helpers.clj +++ b/storm-core/src/clj/backtype/storm/ui/helpers.clj @@ -26,7 +26,8 @@ (:import [org.eclipse.jetty.server Server] [org.eclipse.jetty.server.nio SelectChannelConnector] [org.eclipse.jetty.server.ssl SslSocketConnector] - [org.eclipse.jetty.servlet ServletHolder FilterMapping]) + [org.eclipse.jetty.servlet ServletHolder FilterMapping] + [org.eclipse.jetty.servlets CrossOriginFilter]) (:require [ring.util servlet]) (:require [compojure.route :as route] [compojure.handler :as handler])) @@ -168,12 +169,20 @@ $(\"table#%s\").each(function(i) { $(this).tablesorter({ sortList: %s, headers: (when (> port 0) (.addConnector server (mk-ssl-connector port ks-path ks-password ks-type)))) +(defn cors-filter-handler + [] + (doto (org.eclipse.jetty.servlet.FilterHolder. (CrossOriginFilter.)) + (.setInitParameter CrossOriginFilter/ALLOWED_ORIGINS_PARAM "*") + (.setInitParameter CrossOriginFilter/ALLOWED_METHODS_PARAM "GET, POST, PUT") + (.setInitParameter CrossOriginFilter/ALLOWED_HEADERS_PARAM "*"))) + (defn config-filter [server handler filters-confs] (if filters-confs (let [servlet-holder (ServletHolder. (ring.util.servlet/servlet handler)) context (doto (org.eclipse.jetty.servlet.ServletContextHandler. server "/") (.addServlet servlet-holder "/"))] + (.addFilter context (cors-filter-handler) "/*" FilterMapping/ALL) (doseq [{:keys [filter-name filter-class filter-params]} filters-confs] (if filter-class (let [filter-holder (doto (org.eclipse.jetty.servlet.FilterHolder.)
