summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commitf35af06c1a4ee58741428f10240ff5af1e1d1f4a (patch)
treea00fe254a79889d79a6e27dd5a2b90974390bb3f
parent1c871406fdd08157e70fe4dfe2f59c517f7d0357 (diff)
downloadworkbench-f35af06c1a4ee58741428f10240ff5af1e1d1f4a.tar.gz
workbench-f35af06c1a4ee58741428f10240ff5af1e1d1f4a.tar.bz2
workbench-f35af06c1a4ee58741428f10240ff5af1e1d1f4a.zip
Fixes #18 by adding CORS-headers
-rw-r--r--src/main/scala/workbench/Server.scala12
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 {