Defines annotations to control access based on http method Defines main annotation AllowedMethod and helper annotations used in most common situation, eg. GetOnly, PostOnly, etc.
Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/2ae020ce Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/2ae020ce Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/2ae020ce Branch: refs/heads/feature/http-interceptor Commit: 2ae020ce8c8d94a1e8beb070f38d7d08e587f922 Parents: 507e338 Author: Lukasz Lenart <[email protected]> Authored: Sat Apr 19 17:49:50 2014 +0200 Committer: Lukasz Lenart <[email protected]> Committed: Sat Apr 19 17:49:50 2014 +0200 ---------------------------------------------------------------------- .../struts2/interceptor/httpmethod/AllowedMethod.java | 14 ++++++++++++++ .../struts2/interceptor/httpmethod/GetOnly.java | 14 ++++++++++++++ .../struts2/interceptor/httpmethod/GetPostOnly.java | 14 ++++++++++++++ .../struts2/interceptor/httpmethod/PostOnly.java | 14 ++++++++++++++ 4 files changed, 56 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/struts/blob/2ae020ce/core/src/main/java/org/apache/struts2/interceptor/httpmethod/AllowedMethod.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/interceptor/httpmethod/AllowedMethod.java b/core/src/main/java/org/apache/struts2/interceptor/httpmethod/AllowedMethod.java new file mode 100644 index 0000000..05d3795 --- /dev/null +++ b/core/src/main/java/org/apache/struts2/interceptor/httpmethod/AllowedMethod.java @@ -0,0 +1,14 @@ +package org.apache.struts2.interceptor.httpmethod; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target({ElementType.METHOD, ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +public @interface AllowedMethod { + + HttpMethod[] value() default {}; + +} http://git-wip-us.apache.org/repos/asf/struts/blob/2ae020ce/core/src/main/java/org/apache/struts2/interceptor/httpmethod/GetOnly.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/interceptor/httpmethod/GetOnly.java b/core/src/main/java/org/apache/struts2/interceptor/httpmethod/GetOnly.java new file mode 100644 index 0000000..2c782bd --- /dev/null +++ b/core/src/main/java/org/apache/struts2/interceptor/httpmethod/GetOnly.java @@ -0,0 +1,14 @@ +package org.apache.struts2.interceptor.httpmethod; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target({ElementType.METHOD, ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +public @interface GetOnly { + + HttpMethod[] value() default { HttpMethod.GET }; + +} http://git-wip-us.apache.org/repos/asf/struts/blob/2ae020ce/core/src/main/java/org/apache/struts2/interceptor/httpmethod/GetPostOnly.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/interceptor/httpmethod/GetPostOnly.java b/core/src/main/java/org/apache/struts2/interceptor/httpmethod/GetPostOnly.java new file mode 100644 index 0000000..9f8df02 --- /dev/null +++ b/core/src/main/java/org/apache/struts2/interceptor/httpmethod/GetPostOnly.java @@ -0,0 +1,14 @@ +package org.apache.struts2.interceptor.httpmethod; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target({ElementType.METHOD, ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +public @interface GetPostOnly { + + HttpMethod[] value() default { HttpMethod.GET, HttpMethod.POST }; + +} http://git-wip-us.apache.org/repos/asf/struts/blob/2ae020ce/core/src/main/java/org/apache/struts2/interceptor/httpmethod/PostOnly.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/interceptor/httpmethod/PostOnly.java b/core/src/main/java/org/apache/struts2/interceptor/httpmethod/PostOnly.java new file mode 100644 index 0000000..1163188 --- /dev/null +++ b/core/src/main/java/org/apache/struts2/interceptor/httpmethod/PostOnly.java @@ -0,0 +1,14 @@ +package org.apache.struts2.interceptor.httpmethod; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target({ElementType.METHOD, ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +public @interface PostOnly { + + HttpMethod[] value() default { HttpMethod.POST }; + +}
