You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by pa...@apache.org on 2015/04/01 19:49:41 UTC

[10/45] storm git commit: STORM-708. CORS support for STORM UI.

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/2c486b31
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/2c486b31
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/2c486b31

Branch: refs/heads/nimbus-ha-branch
Commit: 2c486b31844a18808364cfb3ff68ec967ec46124
Parents: 0201a90
Author: Sriharsha Chintalapani <ma...@harsha.io>
Authored: Sun Mar 22 11:03:42 2015 -0700
Committer: Sriharsha Chintalapani <ma...@harsha.io>
Committed: Sun Mar 22 11:03:42 2015 -0700

----------------------------------------------------------------------
 storm-core/src/clj/backtype/storm/ui/core.clj    | 3 ++-
 storm-core/src/clj/backtype/storm/ui/helpers.clj | 7 +++++--
 2 files changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/storm/blob/2c486b31/storm-core/src/clj/backtype/storm/ui/core.clj
----------------------------------------------------------------------
diff --git a/storm-core/src/clj/backtype/storm/ui/core.clj b/storm-core/src/clj/backtype/storm/ui/core.clj
index c64f35d..a13fcf3 100644
--- a/storm-core/src/clj/backtype/storm/ui/core.clj
+++ b/storm-core/src/clj/backtype/storm/ui/core.clj
@@ -892,7 +892,8 @@
 (defnk json-response
   [data callback :serialize-fn to-json :status 200]
      {:status status
-      :headers (merge {"Cache-Control" "no-cache, no-store"}
+      :headers (merge {"Cache-Control" "no-cache, no-store"
+                       "Access-Control-Allow-Origin" "*"}
                       (if (not-nil? callback) {"Content-Type" "application/javascript;charset=utf-8"}
                           {"Content-Type" "application/json;charset=utf-8"}))
       :body (if (not-nil? callback)

http://git-wip-us.apache.org/repos/asf/storm/blob/2c486b31/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 562a407..a7eb280 100644
--- a/storm-core/src/clj/backtype/storm/ui/helpers.clj
+++ b/storm-core/src/clj/backtype/storm/ui/helpers.clj
@@ -23,10 +23,12 @@
   (:use [backtype.storm.util :only [clojurify-structure uuid defnk url-encode]])
   (:use [clj-time coerce format])
   (:import [backtype.storm.generated ExecutorInfo ExecutorSummary])
+  (:import [java.util EnumSet])
   (: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.server DispatcherType]
            [org.eclipse.jetty.servlets CrossOriginFilter])
   (:require [ring.util servlet])
   (:require [compojure.route :as route]
@@ -174,7 +176,8 @@ $(\"table#%s\").each(function(i) { $(this).tablesorter({ sortList: %s, headers:
   (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 "*")))
+    (.setInitParameter CrossOriginFilter/ALLOWED_HEADERS_PARAM "X-Requested-With, X-Requested-By, Access-Control-Allow-Origin, Content-Type, Content-Length, Accept, Origin")
+    ))
 
 (defn config-filter [server handler filters-confs]
   (if filters-confs
@@ -182,7 +185,7 @@ $(\"table#%s\").each(function(i) { $(this).tablesorter({ sortList: %s, headers:
                            (ring.util.servlet/servlet handler))
           context (doto (org.eclipse.jetty.servlet.ServletContextHandler. server "/")
                     (.addServlet servlet-holder "/"))]
-      (.addFilter context (cors-filter-handler) "/*" FilterMapping/ALL)
+      (.addFilter context (cors-filter-handler) "/*" (EnumSet/allOf DispatcherType))
       (doseq [{:keys [filter-name filter-class filter-params]} filters-confs]
         (if filter-class
           (let [filter-holder (doto (org.eclipse.jetty.servlet.FilterHolder.)