You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2014/08/04 10:19:06 UTC

[1/3] git commit: CAMEL-7650: camel-restlet should return error code 405 (method not allowed) if the http request is using a verb that is not allowed.

Repository: camel
Updated Branches:
  refs/heads/camel-2.12.x 4c62b2e4a -> 3a744d460
  refs/heads/camel-2.13.x 324669312 -> 8f83f6185
  refs/heads/master c1522c1a1 -> cb5941aa3


CAMEL-7650: camel-restlet should return error code 405 (method not allowed) if the http request is using a verb that is not allowed.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/cb5941aa
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/cb5941aa
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/cb5941aa

Branch: refs/heads/master
Commit: cb5941aa3c392bb56898d3de880d10a73e1c449a
Parents: c1522c1
Author: Claus Ibsen <da...@apache.org>
Authored: Mon Aug 4 10:18:22 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon Aug 4 10:18:22 2014 +0200

----------------------------------------------------------------------
 .../apache/camel/component/restlet/MethodBasedRouter.java |  2 ++
 .../restlet/RestletMultiMethodsEndpointTest.java          | 10 ++++++++++
 2 files changed, 12 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/cb5941aa/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java
----------------------------------------------------------------------
diff --git a/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java b/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java
index ea9bf16..b9518c3 100644
--- a/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java
+++ b/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java
@@ -55,6 +55,8 @@ class MethodBasedRouter extends Restlet {
         } else {
             LOG.debug("MethodRouter ({}) method not allowed: {}", uriPattern, method);
             response.setStatus(Status.CLIENT_ERROR_METHOD_NOT_ALLOWED);
+            // must include list of allowed methods
+            response.setAllowedMethods(routes.keySet());
         }
     }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/cb5941aa/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletMultiMethodsEndpointTest.java
----------------------------------------------------------------------
diff --git a/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletMultiMethodsEndpointTest.java b/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletMultiMethodsEndpointTest.java
index 7ed9c07..1e4a61f 100644
--- a/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletMultiMethodsEndpointTest.java
+++ b/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletMultiMethodsEndpointTest.java
@@ -16,9 +16,12 @@
  */
 package org.apache.camel.component.restlet;
 
+import java.util.Locale;
+
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.http.Header;
 import org.apache.http.HttpResponse;
 import org.apache.http.client.methods.HttpDelete;
 import org.apache.http.client.methods.HttpGet;
@@ -61,6 +64,13 @@ public class RestletMultiMethodsEndpointTest extends RestletTestSupport {
 
         // delete is not allowed so we return 405
         assertEquals(Status.CLIENT_ERROR_METHOD_NOT_ALLOWED.getCode(), response.getStatusLine().getStatusCode());
+
+        Header header = response.getFirstHeader("Allow");
+        assertNotNull(header);
+        String value = header.getValue().toUpperCase(Locale.US);
+        assertTrue("POST should be allowed", value.contains("POST"));
+        assertTrue("GET should be allowed", value.contains("GET"));
+        assertTrue("PUT should be allowed", value.contains("PUT"));
     }
 
     protected RouteBuilder createRouteBuilder() {


[2/3] git commit: CAMEL-7650: camel-restlet should return error code 405 (method not allowed) if the http request is using a verb that is not allowed.

Posted by da...@apache.org.
CAMEL-7650: camel-restlet should return error code 405 (method not allowed) if the http request is using a verb that is not allowed.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/8f83f618
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/8f83f618
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/8f83f618

Branch: refs/heads/camel-2.13.x
Commit: 8f83f618535db8400c0ff8f6ea48b191c83aa6ae
Parents: 3246693
Author: Claus Ibsen <da...@apache.org>
Authored: Mon Aug 4 10:18:22 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon Aug 4 10:18:44 2014 +0200

----------------------------------------------------------------------
 .../apache/camel/component/restlet/MethodBasedRouter.java |  2 ++
 .../restlet/RestletMultiMethodsEndpointTest.java          | 10 ++++++++++
 2 files changed, 12 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/8f83f618/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java
----------------------------------------------------------------------
diff --git a/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java b/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java
index ea9bf16..b9518c3 100644
--- a/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java
+++ b/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java
@@ -55,6 +55,8 @@ class MethodBasedRouter extends Restlet {
         } else {
             LOG.debug("MethodRouter ({}) method not allowed: {}", uriPattern, method);
             response.setStatus(Status.CLIENT_ERROR_METHOD_NOT_ALLOWED);
+            // must include list of allowed methods
+            response.setAllowedMethods(routes.keySet());
         }
     }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/8f83f618/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletMultiMethodsEndpointTest.java
----------------------------------------------------------------------
diff --git a/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletMultiMethodsEndpointTest.java b/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletMultiMethodsEndpointTest.java
index 7ed9c07..1e4a61f 100644
--- a/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletMultiMethodsEndpointTest.java
+++ b/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletMultiMethodsEndpointTest.java
@@ -16,9 +16,12 @@
  */
 package org.apache.camel.component.restlet;
 
+import java.util.Locale;
+
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.http.Header;
 import org.apache.http.HttpResponse;
 import org.apache.http.client.methods.HttpDelete;
 import org.apache.http.client.methods.HttpGet;
@@ -61,6 +64,13 @@ public class RestletMultiMethodsEndpointTest extends RestletTestSupport {
 
         // delete is not allowed so we return 405
         assertEquals(Status.CLIENT_ERROR_METHOD_NOT_ALLOWED.getCode(), response.getStatusLine().getStatusCode());
+
+        Header header = response.getFirstHeader("Allow");
+        assertNotNull(header);
+        String value = header.getValue().toUpperCase(Locale.US);
+        assertTrue("POST should be allowed", value.contains("POST"));
+        assertTrue("GET should be allowed", value.contains("GET"));
+        assertTrue("PUT should be allowed", value.contains("PUT"));
     }
 
     protected RouteBuilder createRouteBuilder() {


[3/3] git commit: CAMEL-7650: camel-restlet should return error code 405 (method not allowed) if the http request is using a verb that is not allowed.

Posted by da...@apache.org.
CAMEL-7650: camel-restlet should return error code 405 (method not allowed) if the http request is using a verb that is not allowed.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/3a744d46
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/3a744d46
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/3a744d46

Branch: refs/heads/camel-2.12.x
Commit: 3a744d460498475215ac178b8eef797283317887
Parents: 4c62b2e
Author: Claus Ibsen <da...@apache.org>
Authored: Mon Aug 4 10:18:22 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon Aug 4 10:18:52 2014 +0200

----------------------------------------------------------------------
 .../apache/camel/component/restlet/MethodBasedRouter.java |  2 ++
 .../restlet/RestletMultiMethodsEndpointTest.java          | 10 ++++++++++
 2 files changed, 12 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/3a744d46/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java
----------------------------------------------------------------------
diff --git a/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java b/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java
index ea9bf16..b9518c3 100644
--- a/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java
+++ b/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/MethodBasedRouter.java
@@ -55,6 +55,8 @@ class MethodBasedRouter extends Restlet {
         } else {
             LOG.debug("MethodRouter ({}) method not allowed: {}", uriPattern, method);
             response.setStatus(Status.CLIENT_ERROR_METHOD_NOT_ALLOWED);
+            // must include list of allowed methods
+            response.setAllowedMethods(routes.keySet());
         }
     }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/3a744d46/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletMultiMethodsEndpointTest.java
----------------------------------------------------------------------
diff --git a/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletMultiMethodsEndpointTest.java b/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletMultiMethodsEndpointTest.java
index 7ed9c07..1e4a61f 100644
--- a/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletMultiMethodsEndpointTest.java
+++ b/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletMultiMethodsEndpointTest.java
@@ -16,9 +16,12 @@
  */
 package org.apache.camel.component.restlet;
 
+import java.util.Locale;
+
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.http.Header;
 import org.apache.http.HttpResponse;
 import org.apache.http.client.methods.HttpDelete;
 import org.apache.http.client.methods.HttpGet;
@@ -61,6 +64,13 @@ public class RestletMultiMethodsEndpointTest extends RestletTestSupport {
 
         // delete is not allowed so we return 405
         assertEquals(Status.CLIENT_ERROR_METHOD_NOT_ALLOWED.getCode(), response.getStatusLine().getStatusCode());
+
+        Header header = response.getFirstHeader("Allow");
+        assertNotNull(header);
+        String value = header.getValue().toUpperCase(Locale.US);
+        assertTrue("POST should be allowed", value.contains("POST"));
+        assertTrue("GET should be allowed", value.contains("GET"));
+        assertTrue("PUT should be allowed", value.contains("PUT"));
     }
 
     protected RouteBuilder createRouteBuilder() {