From f35af06c1a4ee58741428f10240ff5af1e1d1f4a Mon Sep 17 00:00:00 2001 From: Øyvind Raddum Berg Date: Thu, 28 Apr 2016 05:55:40 +0200 Subject: Fixes #18 by adding CORS-headers --- src/main/scala/workbench/Server.scala | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src') 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 { -- cgit v1.2.3