From df333fdfb5c0feb0136438fda2eeeb7e59f0a1b1 Mon Sep 17 00:00:00 2001 From: Tony Tam Date: Wed, 3 Apr 2013 00:27:51 -0700 Subject: [PATCH] added CORS filter --- .../java-jaxrs/JavaJaxRSServerGenerator.scala | 3 ++- .../java/com/wordnik/api/ApiOriginFilter.java | 26 +++++++++++++++++++ .../output/src/main/webapp/WEB-INF/web.xml | 5 ++-- .../templates/ApiOriginFilter.mustache | 26 +++++++++++++++++++ .../java-jaxrs/templates/web.mustache | 5 ++-- 5 files changed, 58 insertions(+), 7 deletions(-) create mode 100644 samples/server-generator/java-jaxrs/output/src/main/java/com/wordnik/api/ApiOriginFilter.java create mode 100644 samples/server-generator/java-jaxrs/templates/ApiOriginFilter.mustache diff --git a/samples/server-generator/java-jaxrs/JavaJaxRSServerGenerator.scala b/samples/server-generator/java-jaxrs/JavaJaxRSServerGenerator.scala index 56f4b696e4..a00225d1c3 100644 --- a/samples/server-generator/java-jaxrs/JavaJaxRSServerGenerator.scala +++ b/samples/server-generator/java-jaxrs/JavaJaxRSServerGenerator.scala @@ -40,9 +40,10 @@ object JavaJaxRSServerGenerator extends BasicJavaGenerator { // supporting classes override def supportingFiles = List( ("README.mustache", outputFolder, "README.md"), + ("ApiException.mustache", destinationDir + "/" + apiPackage.get.replaceAll("\\.", "/"), "ApiException.java"), + ("ApiOriginFilter.mustache", destinationDir + "/" + apiPackage.get.replaceAll("\\.", "/"), "ApiOriginFilter.java"), ("ApiResponse.mustache", destinationDir + "/" + apiPackage.get.replaceAll("\\.", "/"), "ApiResponse.java"), ("JacksonJsonProvider.mustache", destinationDir + "/" + apiPackage.get.replaceAll("\\.", "/"), "JacksonJsonProvider.java"), - ("ApiException.mustache", destinationDir + "/" + apiPackage.get.replaceAll("\\.", "/"), "ApiException.java"), ("NotFoundException.mustache", destinationDir + "/" + apiPackage.get.replaceAll("\\.", "/"), "NotFoundException.java"), ("pom.xml", outputFolder, "pom.xml"), ("web.mustache", outputFolder + "/src/main/webapp/WEB-INF", "web.xml") diff --git a/samples/server-generator/java-jaxrs/output/src/main/java/com/wordnik/api/ApiOriginFilter.java b/samples/server-generator/java-jaxrs/output/src/main/java/com/wordnik/api/ApiOriginFilter.java new file mode 100644 index 0000000000..cc5a89c386 --- /dev/null +++ b/samples/server-generator/java-jaxrs/output/src/main/java/com/wordnik/api/ApiOriginFilter.java @@ -0,0 +1,26 @@ +package com.wordnik.api; + +import java.io.IOException; + +import javax.servlet.*; +import javax.servlet.http.HttpServletResponse; + +public class ApiOriginFilter implements javax.servlet.Filter { + @Override + public void doFilter(ServletRequest request, ServletResponse response, + FilterChain chain) throws IOException, ServletException { + HttpServletResponse res = (HttpServletResponse) response; + res.addHeader("Access-Control-Allow-Origin", "*"); + res.addHeader("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT"); + res.addHeader("Access-Control-Allow-Headers", "Content-Type"); + chain.doFilter(request, response); + } + + @Override + public void destroy() { + } + + @Override + public void init(FilterConfig filterConfig) throws ServletException { + } +} diff --git a/samples/server-generator/java-jaxrs/output/src/main/webapp/WEB-INF/web.xml b/samples/server-generator/java-jaxrs/output/src/main/webapp/WEB-INF/web.xml index 402064d151..2a758c9516 100644 --- a/samples/server-generator/java-jaxrs/output/src/main/webapp/WEB-INF/web.xml +++ b/samples/server-generator/java-jaxrs/output/src/main/webapp/WEB-INF/web.xml @@ -41,14 +41,13 @@ jersey /* - diff --git a/samples/server-generator/java-jaxrs/templates/ApiOriginFilter.mustache b/samples/server-generator/java-jaxrs/templates/ApiOriginFilter.mustache new file mode 100644 index 0000000000..68675432c6 --- /dev/null +++ b/samples/server-generator/java-jaxrs/templates/ApiOriginFilter.mustache @@ -0,0 +1,26 @@ +package {{apiPackage}}; + +import java.io.IOException; + +import javax.servlet.*; +import javax.servlet.http.HttpServletResponse; + +public class ApiOriginFilter implements javax.servlet.Filter { + @Override + public void doFilter(ServletRequest request, ServletResponse response, + FilterChain chain) throws IOException, ServletException { + HttpServletResponse res = (HttpServletResponse) response; + res.addHeader("Access-Control-Allow-Origin", "*"); + res.addHeader("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT"); + res.addHeader("Access-Control-Allow-Headers", "Content-Type"); + chain.doFilter(request, response); + } + + @Override + public void destroy() { + } + + @Override + public void init(FilterConfig filterConfig) throws ServletException { + } +} \ No newline at end of file diff --git a/samples/server-generator/java-jaxrs/templates/web.mustache b/samples/server-generator/java-jaxrs/templates/web.mustache index b9cc59e467..f0b3ae47ea 100644 --- a/samples/server-generator/java-jaxrs/templates/web.mustache +++ b/samples/server-generator/java-jaxrs/templates/web.mustache @@ -41,13 +41,12 @@ jersey /* -