Skip to main content

[jax-rs-spec commits] [jax-rs-spec~git:4ea8a2f2] New sample that shows how to use a PreMatchRequestFilter to overwrite an

  • From: spericas@...
  • To: commits@...
  • Subject: [jax-rs-spec commits] [jax-rs-spec~git:4ea8a2f2] New sample that shows how to use a PreMatchRequestFilter to overwrite an
  • Date: Thu, 19 Jan 2012 16:35:01 +0000

Project:    jax-rs-spec
Repository: git
Revision:   4ea8a2f23b8c9920417767cefa69ea5e21b5bcc9
Author:     spericas
Date:       2012-01-19 16:34:26 UTC
Link:       

Log Message:
------------
New sample that shows how to use a PreMatchRequestFilter to overwrite an HTTP 
method using X-HTTP-Method-Override.


Revisions:
----------
4ea8a2f23b8c9920417767cefa69ea5e21b5bcc9


Added Paths:
------------
src/examples/src/main/java/jaxrs/examples/filter/post/PostMethodOverrideFilter.java


Diffs:
------
diff --git 
a/src/examples/src/main/java/jaxrs/examples/filter/post/PostMethodOverrideFilter.java
 
b/src/examples/src/main/java/jaxrs/examples/filter/post/PostMethodOverrideFilter.java
new file mode 100644
index 0000000..ff855d8
--- /dev/null
+++ 
b/src/examples/src/main/java/jaxrs/examples/filter/post/PostMethodOverrideFilter.java
@@ -0,0 +1,68 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 2011 Oracle and/or its affiliates. All rights reserved.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common Development
+ * and Distribution License("CDDL") (collectively, the "License").  You
+ * may not use this file except in compliance with the License.  You can
+ * obtain a copy of the License at
+ * http://glassfish.java.net/public/CDDL+GPL_1_1.html
+ * or packager/legal/LICENSE.txt.  See the License for the specific
+ * language governing permissions and limitations under the License.
+ *
+ * When distributing the software, include this License Header Notice in each
+ * file and include the License file at packager/legal/LICENSE.txt.
+ *
+ * GPL Classpath Exception:
+ * Oracle designates this particular file as subject to the "Classpath"
+ * exception as provided by Oracle in the GPL Version 2 section of the 
License
+ * file that accompanied this code.
+ *
+ * Modifications:
+ * If applicable, add the following below the License Header, with the fields
+ * enclosed by brackets [] replaced by your own identifying information:
+ * "Portions Copyright [year] [name of copyright owner]"
+ *
+ * Contributor(s):
+ * If you wish your version of this file to be governed by only the CDDL or
+ * only the GPL Version 2, indicate your decision by adding "[Contributor]
+ * elects to include this software in this distribution under the [CDDL or 
GPL
+ * Version 2] license."  If you don't indicate a single choice of license, a
+ * recipient has the option to distribute your version of this file under
+ * either the CDDL, the GPL Version 2 or to extend the choice of license to
+ * its licensees as provided above.  However, if you add GPL Version 2 code
+ * and therefore, elected the GPL Version 2 license, then the option applies
+ * only if the new code is made subject to such option by the copyright
+ * holder.
+ */
+package jaxrs.examples.filter.post;
+
+import java.io.IOException;
+import javax.ws.rs.core.Request;
+import javax.ws.rs.ext.FilterContext;
+import javax.ws.rs.ext.PreMatchRequestFilter;
+import javax.ws.rs.ext.Provider;
+
+/**
+ * PostMethodOverrideFilter class.
+ *
+ * @author Santiago.Pericas-Geertsen at oracle.com
+ */
+@Provider
+public class PostMethodOverrideFilter implements PreMatchRequestFilter {
+
+    @Override
+    public void preMatchFilter(FilterContext context) throws IOException {
+        Request request = context.getRequest();
+        
+        if (request.getMethod().equalsIgnoreCase("POST")) {
+            String override = 
request.getHeaders().getHeader("X-HTTP-Method-Override");
+            if (override != null) {
+                request = 
context.getRequestBuilder().method(override).build();
+                context.setRequest(request);
+            }
+        }
+    }
+}




[jax-rs-spec commits] [jax-rs-spec~git:4ea8a2f2] New sample that shows how to use a PreMatchRequestFilter to overwrite an

spericas 01/19/2012
 
 
Close
loading
Please Confirm
Close