Repository: camel Updated Branches: refs/heads/camel-2.19.x eed0e8ace -> e0e6beebf refs/heads/master c88d02107 -> 0e5dcd2a7
Fixed camel-swagger-java to use correct HTTP accept header to detect what the client want as response. Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/0e5dcd2a Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/0e5dcd2a Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/0e5dcd2a Branch: refs/heads/master Commit: 0e5dcd2a769dd453f75ce618c8a774dfc28531a2 Parents: 8e412cd Author: Claus Ibsen <davscl...@apache.org> Authored: Tue Jul 25 20:46:11 2017 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Tue Jul 25 20:47:27 2017 +0200 ---------------------------------------------------------------------- camel-core/src/main/java/org/apache/camel/Exchange.java | 1 + .../java/org/apache/camel/swagger/RestSwaggerProcessor.java | 7 ++++--- .../org/apache/camel/swagger/servlet/RestSwaggerServlet.java | 7 ++++--- examples/camel-example-swagger-cdi/README.md | 6 +++--- 4 files changed, 12 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/0e5dcd2a/camel-core/src/main/java/org/apache/camel/Exchange.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/Exchange.java b/camel-core/src/main/java/org/apache/camel/Exchange.java index bfe9251..6110201 100644 --- a/camel-core/src/main/java/org/apache/camel/Exchange.java +++ b/camel-core/src/main/java/org/apache/camel/Exchange.java @@ -73,6 +73,7 @@ public interface Exchange { String AUTHENTICATION = "CamelAuthentication"; String AUTHENTICATION_FAILURE_POLICY_ID = "CamelAuthenticationFailurePolicyId"; + @Deprecated String ACCEPT_CONTENT_TYPE = "CamelAcceptContentType"; String AGGREGATED_SIZE = "CamelAggregatedSize"; String AGGREGATED_TIMEOUT = "CamelAggregatedTimeout"; http://git-wip-us.apache.org/repos/asf/camel/blob/0e5dcd2a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerProcessor.java ---------------------------------------------------------------------- diff --git a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerProcessor.java b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerProcessor.java index 9edf41e..229b5bc 100644 --- a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerProcessor.java +++ b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerProcessor.java @@ -17,6 +17,7 @@ package org.apache.camel.swagger; import java.util.Collections; +import java.util.Locale; import java.util.Map; import io.swagger.jaxrs.config.BeanConfig; @@ -56,7 +57,7 @@ public class RestSwaggerProcessor implements Processor { String contextId = exchange.getContext().getName(); String route = exchange.getIn().getHeader(Exchange.HTTP_PATH, String.class); - String accept = exchange.getIn().getHeader(Exchange.ACCEPT_CONTENT_TYPE, String.class); + String accept = exchange.getIn().getHeader("Accept", String.class); RestApiResponseAdapter adapter = new ExchangeRestApiResponseAdapter(exchange); @@ -71,8 +72,8 @@ public class RestSwaggerProcessor implements Processor { route = route.substring(0, route.length() - 13); } if (accept != null && !json && !yaml) { - json = accept.contains("json"); - yaml = accept.contains("yaml"); + json = accept.toLowerCase(Locale.US).contains("json"); + yaml = accept.toLowerCase(Locale.US).contains("yaml"); } if (!json && !yaml) { // json is default http://git-wip-us.apache.org/repos/asf/camel/blob/0e5dcd2a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/servlet/RestSwaggerServlet.java ---------------------------------------------------------------------- diff --git a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/servlet/RestSwaggerServlet.java b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/servlet/RestSwaggerServlet.java index 3aa7a75..6d47826 100644 --- a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/servlet/RestSwaggerServlet.java +++ b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/servlet/RestSwaggerServlet.java @@ -22,6 +22,7 @@ import java.net.URL; import java.util.Enumeration; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import javax.servlet.ServletConfig; import javax.servlet.ServletException; @@ -122,7 +123,7 @@ public class RestSwaggerServlet extends HttpServlet { String contextId = null; String route = request.getPathInfo(); - String accept = request.getHeader(Exchange.ACCEPT_CONTENT_TYPE); + String accept = request.getHeader("Accept"); // whether to use json or yaml boolean json = false; @@ -135,8 +136,8 @@ public class RestSwaggerServlet extends HttpServlet { route = route.substring(0, route.length() - 13); } if (accept != null && !json && !yaml) { - json = accept.contains("json"); - yaml = accept.contains("yaml"); + json = accept.toLowerCase(Locale.US).contains("json"); + yaml = accept.toLowerCase(Locale.US).contains("yaml"); } if (!json && !yaml) { // json is default http://git-wip-us.apache.org/repos/asf/camel/blob/0e5dcd2a/examples/camel-example-swagger-cdi/README.md ---------------------------------------------------------------------- diff --git a/examples/camel-example-swagger-cdi/README.md b/examples/camel-example-swagger-cdi/README.md index aa9a0bb..3985367 100644 --- a/examples/camel-example-swagger-cdi/README.md +++ b/examples/camel-example-swagger-cdi/README.md @@ -32,11 +32,11 @@ For example to get a user with id 123 The rest services provides Swagger API in json or yaml format which can be accessed from the following url - curl http://localhost:8080/api-doc/swagger.json - curl http://localhost:8080/api-doc/swagger.yaml + curl -H "Accept: application/json" http://localhost:8080/api-doc + curl -H "Accept: application/yaml" http://localhost:8080/api-doc -<http://localhost:8080/api-doc/swagger.json> +<http://localhost:8080/api-doc> To stop the example hit <kbd>ctrl</kbd>+<kbd>c</kbd>