public class SearchMethod extends XMLResponseMethodBase
The SEARCH method initiates a server-side search. The body of the request defines the query. The server responds with a text/xml entity matching the WebDAV PROPFIND response.
According to
However, other query grammars may be used. A typical request using
the
SEARCH /folder/ HTTP/1.1
Host: www.foo.bar
Content-type: text/xml; charset="utf-8"
Content-Length: xxxx
<?xml version="1.0"?>
<D:searchrequest xmlns:D = "DAV:" >
<D:basicsearch>
<D:select>
<D:prop><D:getcontentlength/></D:prop>
</D:select>
<D:from>
<D:scope>
<D:href>/folder/</D:href>
<D:depth>infinity</D:depth>
</D:scope>
</D:from>
</D:basicsearch>
</D:searchrequest>
SEARCH /folder/ HTTP/1.1
Host: www.foo.bar
Content-type: text/xml; charset="utf-8"
Content-Length: xxxx
<?xml version="1.0"?>
<D:searchrequest xmlns:D = "DAV:" >
<D:sql>
SELECT "DAV:contentclass", "DAV:displayname"
FROM "/folder/"
WHERE "DAV:ishidden" = false
AND "DAV:isfolder" = false
</D:sql>
</D:searchrequest>
XMLResponseMethodBase.OptionsResponse, XMLResponseMethodBase.Response, XMLResponseMethodBase.ResponseWithinMultistatus, XMLResponseMethodBase.SingleResponse
Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
prefix
The namespace abbreviation that prefixes DAV tags
|
builder, decodeResponseHrefs, responseURLs
Constructor and Description |
---|
SearchMethod()
Method constructor.
|
SearchMethod(java.lang.String path)
Method constructor.
|
SearchMethod(java.lang.String path,
java.lang.String query)
Construct a SearchMethod using the given XML request body.
|
Modifier and Type | Method and Description |
---|---|
void |
addRequestHeaders(org.apache.commons.httpclient.HttpState state,
org.apache.commons.httpclient.HttpConnection conn)
Generate additional headers needed by the request.
|
protected java.lang.String |
generateRequestBody()
DAV requests that contain a body must override this function to
generate that body.
|
java.util.Enumeration |
getAllResponseURLs()
This method returns an enumeration of URL paths.
|
java.lang.String |
getName() |
java.util.Enumeration |
getResponseProperties(java.lang.String urlPath)
Returns an enumeration of
Property objects. |
void |
parseResponse(java.io.InputStream input,
org.apache.commons.httpclient.HttpState state,
org.apache.commons.httpclient.HttpConnection conn)
Parse response.
|
void |
recycle()
Reset the State of the class to its initial state, so that it can be
used again.
|
convertElementToProperty, getDebug, getRequestContentLength, getResponseDocument, getResponseHashtable, getResponses, getResponseURLs, parseXMLResponse, readResponseBody, setDebug, setDecodeResponseHrefs, setDocument, setResponseHashtable, writeRequestBody
isRequestContentAlreadySet, readContinueCode, setRequestBody, setRequestBody, setRequestBody, setRequestBody, setRequestBody
abort, addCookieRequestHeader, addHostRequestHeader, addProxyConnectionHeader, addRequestHeader, addRequestHeader, addResponseFooter, addUserAgentRequestHeader, checkNotUsed, checkUsed, execute, generateRequestLine, getAuthenticationRealm, getContentCharSet, getDoAuthentication, getEffectiveVersion, getFollowRedirects, getHostAuthState, getHostConfiguration, getMethodRetryHandler, getParams, getPath, getProxyAuthenticationRealm, getProxyAuthState, getQueryString, getRecoverableExceptionCount, getRequestCharSet, getRequestHeader, getRequestHeaderGroup, getRequestHeaders, getRequestHeaders, getResponseBody, getResponseBody, getResponseBodyAsStream, getResponseBodyAsString, getResponseBodyAsString, getResponseCharSet, getResponseContentLength, getResponseFooter, getResponseFooters, getResponseHeader, getResponseHeaderGroup, getResponseHeaders, getResponseHeaders, getResponseStream, getResponseTrailerHeaderGroup, getStatusCode, getStatusLine, getStatusText, getURI, hasBeenUsed, isAborted, isConnectionCloseForced, isHttp11, isRequestSent, isStrictMode, processCookieHeaders, processResponseBody, processResponseHeaders, processStatusLine, readResponse, readResponseHeaders, readStatusLine, releaseConnection, removeRequestHeader, removeRequestHeader, responseBodyConsumed, setConnectionCloseForced, setDoAuthentication, setFollowRedirects, setHostConfiguration, setHttp11, setMethodRetryHandler, setParams, setPath, setQueryString, setQueryString, setRequestHeader, setRequestHeader, setResponseStream, setStrictMode, setURI, shouldCloseConnection, validate, writeRequest, writeRequestHeaders, writeRequestLine
protected java.lang.String prefix
public SearchMethod()
public SearchMethod(java.lang.String path)
public SearchMethod(java.lang.String path, java.lang.String query)
path
- Relative path to the WebDAV resource
(presumably a collection).query
- Complete request body in XML including a search query in
your favorite grammar.public java.lang.String getName()
getName
in interface org.apache.commons.httpclient.HttpMethod
getName
in class org.apache.commons.httpclient.HttpMethodBase
public void recycle()
XMLResponseMethodBase
recycle
in interface org.apache.commons.httpclient.HttpMethod
recycle
in class XMLResponseMethodBase
public void addRequestHeaders(org.apache.commons.httpclient.HttpState state, org.apache.commons.httpclient.HttpConnection conn) throws java.io.IOException, org.apache.commons.httpclient.HttpException
addRequestHeaders
in class org.apache.commons.httpclient.HttpMethodBase
state
- State tokenconn
- the connectionjava.io.IOException
org.apache.commons.httpclient.HttpException
protected java.lang.String generateRequestBody()
The default behavior simply returns an empty body.
generateRequestBody
in class XMLResponseMethodBase
public java.util.Enumeration getAllResponseURLs()
<D:href>
elements
of the response.public java.util.Enumeration getResponseProperties(java.lang.String urlPath)
Property
objects.public void parseResponse(java.io.InputStream input, org.apache.commons.httpclient.HttpState state, org.apache.commons.httpclient.HttpConnection conn) throws java.io.IOException, org.apache.commons.httpclient.HttpException
parseResponse
in class XMLResponseMethodBase
input
- Input streamjava.io.IOException
org.apache.commons.httpclient.HttpException