diff --git a/build.gradle b/build.gradle index a5b175b..986433e 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'java' apply plugin: 'maven' group = 'net.cgro' -version = '2019.1' +version = '2019.2' description = """VoteManager""" diff --git a/src/main/java/net/cgro/votemanager/MainApp.java b/src/main/java/net/cgro/votemanager/MainApp.java index 8cf8860..965f1a8 100644 --- a/src/main/java/net/cgro/votemanager/MainApp.java +++ b/src/main/java/net/cgro/votemanager/MainApp.java @@ -9,6 +9,7 @@ import javafx.stage.WindowEvent; import net.cgro.votemanager.controller.MainWindowController; import net.cgro.votemanager.model.Wahl; +import net.cgro.votemanager.util.CorsFilter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import spark.Spark; @@ -27,7 +28,7 @@ import java.util.Timer; import java.util.TimerTask; -import static spark.Spark.get; +import static spark.Spark.*; public class MainApp extends Application { @@ -125,6 +126,7 @@ private void stopAutosave() { } private void startServer() { + CorsFilter.apply(); get("/up", ((request, response) -> "up")); get("/status", (reqest, response) -> { response.type("text/xml; charset=utf-8"); diff --git a/src/main/java/net/cgro/votemanager/util/CorsFilter.java b/src/main/java/net/cgro/votemanager/util/CorsFilter.java new file mode 100644 index 0000000..4954cd3 --- /dev/null +++ b/src/main/java/net/cgro/votemanager/util/CorsFilter.java @@ -0,0 +1,21 @@ +package net.cgro.votemanager.util; + +import spark.Filter; +import spark.Spark; + +import java.util.HashMap; + +public final class CorsFilter { + + private static final HashMap corsHeaders = new HashMap<>(); + + static { + corsHeaders.put("Access-Control-Allow-Methods", "GET"); + corsHeaders.put("Access-Control-Allow-Origin", "*"); + } + + public static void apply() { + Filter filter = (request, response) -> corsHeaders.forEach(response::header); + Spark.after(filter); + } +}