diff options
author | Øyvind Raddum Berg <elacin@gmail.com> | 2016-04-28 05:55:40 +0200 |
---|---|---|
committer | Øyvind Raddum Berg <elacin@gmail.com> | 2016-04-28 05:55:40 +0200 |
commit | f35af06c1a4ee58741428f10240ff5af1e1d1f4a (patch) | |
tree | a00fe254a79889d79a6e27dd5a2b90974390bb3f /src | |
parent | 1c871406fdd08157e70fe4dfe2f59c517f7d0357 (diff) | |
download | workbench-f35af06c1a4ee58741428f10240ff5af1e1d1f4a.tar.gz workbench-f35af06c1a4ee58741428f10240ff5af1e1d1f4a.tar.bz2 workbench-f35af06c1a4ee58741428f10240ff5af1e1d1f4a.zip |
Fixes #18 by adding CORS-headers
Diffstat (limited to 'src')
-rw-r--r-- | src/main/scala/workbench/Server.scala | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/main/scala/workbench/Server.scala b/src/main/scala/workbench/Server.scala index 484999e..353187c 100644 --- a/src/main/scala/workbench/Server.scala +++ b/src/main/scala/workbench/Server.scala @@ -26,8 +26,18 @@ import scala.collection.mutable import scala.tools.nsc.typechecker.Analyzer import org.scalajs.core.tools.classpath.{CompleteClasspath, PartialClasspath} import scala.tools.nsc.util.{JavaClassPath, DirectoryClassPath} +import spray.http.HttpHeaders._ +import spray.http.HttpMethods._ class Server(url: String, port: Int, bootSnippet: String) extends SimpleRoutingApp{ + val corsHeaders: List[ModeledHeader] = + List( + `Access-Control-Allow-Methods`(OPTIONS, GET, POST), + `Access-Control-Allow-Origin`(AllOrigins), + `Access-Control-Allow-Headers`("Origin, X-Requested-With, Content-Type, Accept, Accept-Encoding, Accept-Language, Host, Referer, User-Agent"), + `Access-Control-Max-Age`(1728000) + ) + implicit val system = ActorSystem( "Workbench-System", config = ConfigFactory.load(ActorSystem.getClass.getClassLoader), @@ -62,7 +72,7 @@ class Server(url: String, port: Int, bootSnippet: String) extends SimpleRoutingA def respond(a: ActorRef, s: String) = { a ! HttpResponse( entity = s, - headers = List(`Access-Control-Allow-Origin`(AllOrigins)) + headers = corsHeaders ) } def receive = (x: Any) => (x, waitingActor, queuedMessages) match { |