Skip to content

Commit f03aad2

Browse files
committed
add headers required for CORS
1 parent b17b03c commit f03aad2

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

src/main/scala/org/apache/mesos/chronos/scheduler/api/ChronosRestModule.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,9 @@ class ChronosRestModule extends ServletModule {
6868
bind(classOf[GraphManagementResource]).in(Scopes.SINGLETON)
6969
bind(classOf[StatsResource]).in(Scopes.SINGLETON)
7070
bind(classOf[RedirectFilter]).in(Scopes.SINGLETON)
71+
bind(classOf[CorsFilter]).in(Scopes.SINGLETON)
7172
//This filter will redirect to the master if running in HA mode.
73+
filter("/*").through(classOf[CorsFilter])
7274
filter("/*").through(classOf[RedirectFilter])
7375
}
7476
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package org.apache.mesos.chronos.scheduler.api
2+
3+
import java.util.logging.{Level, Logger}
4+
import javax.servlet._
5+
import javax.servlet.http.{HttpServletRequest, HttpServletResponse}
6+
7+
class CorsFilter extends Filter {
8+
val log = Logger.getLogger(getClass.getName)
9+
10+
def init(filterConfig: FilterConfig) {}
11+
def doFilter(rawRequest: ServletRequest, rawResponse: ServletResponse, chain: FilterChain) {
12+
rawResponse match {
13+
case response: HttpServletResponse =>
14+
log.debug("Adding cors header to api response")
15+
response.setHeader("Access-Control-Allow-Origin", "*");
16+
chain.doFilter(rawRequest, rawResponse)
17+
case _ =>
18+
}
19+
}
20+
def destroy() {}
21+
}

0 commit comments

Comments
 (0)