Return-Path: Delivered-To: apmail-incubator-abdera-commits-archive@locus.apache.org Received: (qmail 72673 invoked from network); 25 May 2007 20:44:08 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 25 May 2007 20:44:08 -0000 Received: (qmail 59493 invoked by uid 500); 25 May 2007 20:44:13 -0000 Delivered-To: apmail-incubator-abdera-commits-archive@incubator.apache.org Received: (qmail 59480 invoked by uid 500); 25 May 2007 20:44:13 -0000 Mailing-List: contact abdera-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: abdera-dev@incubator.apache.org Delivered-To: mailing list abdera-commits@incubator.apache.org Received: (qmail 59470 invoked by uid 99); 25 May 2007 20:44:13 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 25 May 2007 13:44:13 -0700 X-ASF-Spam-Status: No, hits=-99.5 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 25 May 2007 13:44:07 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 57D611A981A; Fri, 25 May 2007 13:43:47 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r541778 - in /incubator/abdera/java/trunk/client/src/main/java/org/apache/abdera/protocol/client: RequestOptions.java util/MethodHelper.java Date: Fri, 25 May 2007 20:43:47 -0000 To: abdera-commits@incubator.apache.org From: jmsnell@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070525204347.57D611A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: jmsnell Date: Fri May 25 13:43:46 2007 New Revision: 541778 URL: http://svn.apache.org/viewvc?view=rev&rev=541778 Log: Support for the X-HTTP-Method-Override header. Modified: incubator/abdera/java/trunk/client/src/main/java/org/apache/abdera/protocol/client/RequestOptions.java incubator/abdera/java/trunk/client/src/main/java/org/apache/abdera/protocol/client/util/MethodHelper.java Modified: incubator/abdera/java/trunk/client/src/main/java/org/apache/abdera/protocol/client/RequestOptions.java URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/client/src/main/java/org/apache/abdera/protocol/client/RequestOptions.java?view=diff&rev=541778&r1=541777&r2=541778 ============================================================================== --- incubator/abdera/java/trunk/client/src/main/java/org/apache/abdera/protocol/client/RequestOptions.java (original) +++ incubator/abdera/java/trunk/client/src/main/java/org/apache/abdera/protocol/client/RequestOptions.java Fri May 25 13:43:46 2007 @@ -42,6 +42,7 @@ private boolean noLocalCache = false; private boolean revalidateAuth = false; private boolean useChunked = false; + private boolean usePostOverride = false; private final Map> headers; @@ -435,5 +436,19 @@ */ public void setUseChunked(boolean useChunked) { this.useChunked = useChunked; + } + + /** + * Set whether the request should use the X-HTTP-Method-Override option + */ + public void setUsePostOverride(boolean useOverride) { + this.usePostOverride = useOverride; + } + + /** + * Return whether the request should use the X-HTTP-Method-Override option + */ + public boolean isUsePostOverride() { + return this.usePostOverride; } } Modified: incubator/abdera/java/trunk/client/src/main/java/org/apache/abdera/protocol/client/util/MethodHelper.java URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/client/src/main/java/org/apache/abdera/protocol/client/util/MethodHelper.java?view=diff&rev=541778&r1=541777&r2=541778 ============================================================================== --- incubator/abdera/java/trunk/client/src/main/java/org/apache/abdera/protocol/client/util/MethodHelper.java (original) +++ incubator/abdera/java/trunk/client/src/main/java/org/apache/abdera/protocol/client/util/MethodHelper.java Fri May 25 13:43:46 2007 @@ -124,7 +124,16 @@ RequestOptions options) { if (method == null) return null; Method m = Method.fromString(method); + Method actual = null; HttpMethod httpMethod = null; + if (options.isUsePostOverride()) { + if (m.equals(Method.PUT)) { + actual = m; + } else if (m.equals(Method.DELETE)) { + actual = m; + } + if (actual != null) m = Method.POST; + } switch(m) { case GET: httpMethod = new GetMethod(uri); break; case POST: httpMethod = getMethod(new PostMethod(uri), entity); break; @@ -134,6 +143,9 @@ case OPTIONS: httpMethod = new OptionsMethod(uri); break; case TRACE: httpMethod = new TraceMethod(uri); break; default: httpMethod = getMethod(new ExtensionMethod(method,uri), entity); + } + if (actual != null) { + httpMethod.addRequestHeader("X-HTTP-Method-Override", actual.name()); } initHeaders(options, httpMethod); return httpMethod;