org.apache.http.protocol
Class BasicHttpProcessor

java.lang.Object
  extended byorg.apache.http.protocol.BasicHttpProcessor
All Implemented Interfaces:
HttpProcessor, HttpRequestInterceptor, HttpRequestInterceptorList, HttpResponseInterceptor, HttpResponseInterceptorList

public class BasicHttpProcessor
extends java.lang.Object
implements HttpProcessor, HttpRequestInterceptorList, HttpResponseInterceptorList

Keeps lists of interceptors for processing requests and responses.

Since:
4.0
Version:
$Revision: 503408 $
Author:
Oleg Kalnichevski

Constructor Summary
BasicHttpProcessor()
           
 
Method Summary
 void addInterceptor(HttpRequestInterceptor interceptor)
          Same as addRequestInterceptor.
 void addInterceptor(HttpResponseInterceptor interceptor)
          Same as addResponseInterceptor.
 void addRequestInterceptor(HttpRequestInterceptor itcp)
          Appends a request interceptor to this list.
 void addResponseInterceptor(HttpResponseInterceptor itcp)
          Appends a response interceptor to this list.
 void clearInterceptors()
          Clears both interceptor lists maintained by this processor.
 void clearRequestInterceptors()
          Removes all request interceptors from this list.
 void clearResponseInterceptors()
          Removes all response interceptors from this list.
 HttpRequestInterceptor getRequestInterceptor(int index)
          Obtains a request interceptor from this list.
 int getRequestInterceptorCount()
          Obtains the current size of this list.
 HttpResponseInterceptor getResponseInterceptor(int index)
          Obtains a response interceptor from this list.
 int getResponseInterceptorCount()
          Obtains the current size of this list.
 void process(HttpRequest request, HttpContext context)
          Processes a request.
 void process(HttpResponse response, HttpContext context)
          Processes a response.
 void setInterceptors(java.util.List list)
          Sets the interceptor lists.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BasicHttpProcessor

public BasicHttpProcessor()
Method Detail

addRequestInterceptor

public void addRequestInterceptor(HttpRequestInterceptor itcp)
Description copied from interface: HttpRequestInterceptorList
Appends a request interceptor to this list.

Specified by:
addRequestInterceptor in interface HttpRequestInterceptorList
Parameters:
itcp - the request interceptor to add, or null to do nothing

addInterceptor

public final void addInterceptor(HttpRequestInterceptor interceptor)
Same as addRequestInterceptor.

Parameters:
interceptor - the interceptor to add

getRequestInterceptorCount

public int getRequestInterceptorCount()
Description copied from interface: HttpRequestInterceptorList
Obtains the current size of this list.

Specified by:
getRequestInterceptorCount in interface HttpRequestInterceptorList
Returns:
the number of request interceptors in this list

getRequestInterceptor

public HttpRequestInterceptor getRequestInterceptor(int index)
Description copied from interface: HttpRequestInterceptorList
Obtains a request interceptor from this list.

Specified by:
getRequestInterceptor in interface HttpRequestInterceptorList
Parameters:
index - the index of the interceptor to obtain, 0 for first
Returns:
the interceptor at the given index, or null if the index is out of range

clearRequestInterceptors

public void clearRequestInterceptors()
Description copied from interface: HttpRequestInterceptorList
Removes all request interceptors from this list.

Specified by:
clearRequestInterceptors in interface HttpRequestInterceptorList

addResponseInterceptor

public void addResponseInterceptor(HttpResponseInterceptor itcp)
Description copied from interface: HttpResponseInterceptorList
Appends a response interceptor to this list.

Specified by:
addResponseInterceptor in interface HttpResponseInterceptorList
Parameters:
itcp - the response interceptor to add, or null to do nothing

addInterceptor

public final void addInterceptor(HttpResponseInterceptor interceptor)
Same as addResponseInterceptor.

Parameters:
interceptor - the interceptor to add

getResponseInterceptorCount

public int getResponseInterceptorCount()
Description copied from interface: HttpResponseInterceptorList
Obtains the current size of this list.

Specified by:
getResponseInterceptorCount in interface HttpResponseInterceptorList
Returns:
the number of response interceptors in this list

getResponseInterceptor

public HttpResponseInterceptor getResponseInterceptor(int index)
Description copied from interface: HttpResponseInterceptorList
Obtains a response interceptor from this list.

Specified by:
getResponseInterceptor in interface HttpResponseInterceptorList
Parameters:
index - the index of the interceptor to obtain, 0 for first
Returns:
the interceptor at the given index, or null if the index is out of range

clearResponseInterceptors

public void clearResponseInterceptors()
Description copied from interface: HttpResponseInterceptorList
Removes all response interceptors from this list.

Specified by:
clearResponseInterceptors in interface HttpResponseInterceptorList

setInterceptors

public void setInterceptors(java.util.List list)
Sets the interceptor lists. First, both interceptor lists maintained by this processor will be cleared. Subsequently, elements of the argument list that are request interceptors will be added to the request interceptor list. Elements that are response interceptors will be added to the response interceptor list. Elements that are both request and response interceptor will be added to both lists. Elements that are neither request nor response interceptor will be ignored.

Specified by:
setInterceptors in interface HttpRequestInterceptorList
Parameters:
list - the list of request and response interceptors from which to initialize

clearInterceptors

public void clearInterceptors()
Clears both interceptor lists maintained by this processor.


process

public void process(HttpRequest request,
                    HttpContext context)
             throws java.io.IOException,
                    HttpException
Description copied from interface: HttpRequestInterceptor
Processes a request. On the client side, this step is performed before the request is sent to the server. On the server side, this step is performed on incoming messages before the message body is evaluated.

Specified by:
process in interface HttpRequestInterceptor
Parameters:
request - the request to preprocess
context - the context for the request
Throws:
java.io.IOException - in case of an IO problem
HttpException - in case of a protocol or other problem

process

public void process(HttpResponse response,
                    HttpContext context)
             throws java.io.IOException,
                    HttpException
Description copied from interface: HttpResponseInterceptor
Processes a response. On the server side, this step is performed before the response is sent to the client. On the client side, this step is performed on incoming messages before the message body is evaluated.

Specified by:
process in interface HttpResponseInterceptor
Parameters:
response - the response to postprocess
context - the context for the request
Throws:
java.io.IOException - in case of an IO problem
HttpException - in case of a protocol or other problem


Copyright © 2005-2007 Apache Software Foundation. All Rights Reserved.