Return-Path: Delivered-To: apmail-jakarta-httpcomponents-commits-archive@www.apache.org Received: (qmail 64360 invoked from network); 13 Apr 2007 14:02:00 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 13 Apr 2007 14:02:00 -0000 Received: (qmail 76137 invoked by uid 500); 13 Apr 2007 14:01:54 -0000 Delivered-To: apmail-jakarta-httpcomponents-commits-archive@jakarta.apache.org Received: (qmail 76094 invoked by uid 500); 13 Apr 2007 14:01:54 -0000 Mailing-List: contact httpcomponents-commits-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: httpcomponents-dev@jakarta.apache.org Delivered-To: mailing list httpcomponents-commits@jakarta.apache.org Received: (qmail 76076 invoked by uid 99); 13 Apr 2007 14:01:54 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 13 Apr 2007 07:01:54 -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, 13 Apr 2007 07:01:47 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 8433E1A9838; Fri, 13 Apr 2007 07:01:27 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r528488 - /jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/client/methods/HttpOptions.java Date: Fri, 13 Apr 2007 14:01:27 -0000 To: httpcomponents-commits@jakarta.apache.org From: olegk@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070413140127.8433E1A9838@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: olegk Date: Fri Apr 13 07:01:26 2007 New Revision: 528488 URL: http://svn.apache.org/viewvc?view=rev&rev=528488 Log: Added method to extract a set of allowed methods from the OPTIONS response Modified: jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/client/methods/HttpOptions.java Modified: jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/client/methods/HttpOptions.java URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/client/methods/HttpOptions.java?view=diff&rev=528488&r1=528487&r2=528488 ============================================================================== --- jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/client/methods/HttpOptions.java (original) +++ jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/client/methods/HttpOptions.java Fri Apr 13 07:01:26 2007 @@ -33,6 +33,13 @@ import java.net.URI; import java.net.URISyntaxException; +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +import org.apache.http.Header; +import org.apache.http.HeaderElement; +import org.apache.http.HttpResponse; /** * HTTP OPTIONS method. @@ -73,6 +80,22 @@ public String getMethod() { return METHOD_NAME; + } + + public Set getAllowedMethods(final HttpResponse response) { + if (response == null) { + throw new IllegalArgumentException("HTTP response may not be null"); + } + Header header = response.getFirstHeader("Allow"); + if (header == null) { + return Collections.EMPTY_SET; + } + HeaderElement[] elements = header.getElements(); + Set methods = new HashSet(elements.length); + for (int i = 0; i < elements.length; i++) { + methods.add(elements[i].getName()); + } + return methods; } }