Added method to extract a set of allowed methods from the OPTIONS response

git-svn-id: https://svn.apache.org/repos/asf/jakarta/httpcomponents/httpclient/trunk@528488 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Oleg Kalnichevski 2007-04-13 14:01:26 +00:00
parent 58113ab702
commit d64edda9e5
1 changed files with 23 additions and 0 deletions

View File

@ -33,6 +33,13 @@ package org.apache.http.client.methods;
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.
@ -75,4 +82,20 @@ public class HttpOptions extends HttpRequestBase {
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;
}
}