public final class BasicHttpProcessor extends java.lang.Object implements HttpProcessor, HttpRequestInterceptorList, HttpResponseInterceptorList, java.lang.Cloneable
HttpProcessor
.
Please note access to the internal structures of this class is not synchronized and therefore this class may be thread-unsafe.
Modifier and Type | Field and Description |
---|---|
protected java.util.List |
requestInterceptors |
protected java.util.List |
responseInterceptors |
Constructor and Description |
---|
BasicHttpProcessor() |
Modifier and Type | Method and Description |
---|---|
void |
addInterceptor(HttpRequestInterceptor interceptor)
Same as
addRequestInterceptor . |
void |
addInterceptor(HttpRequestInterceptor interceptor,
int index) |
void |
addInterceptor(HttpResponseInterceptor interceptor)
Same as
addResponseInterceptor . |
void |
addInterceptor(HttpResponseInterceptor interceptor,
int index) |
void |
addRequestInterceptor(HttpRequestInterceptor itcp)
Appends a request interceptor to this list.
|
void |
addRequestInterceptor(HttpRequestInterceptor itcp,
int index)
Inserts a request interceptor at the specified index.
|
void |
addResponseInterceptor(HttpResponseInterceptor itcp)
Appends a response interceptor to this list.
|
void |
addResponseInterceptor(HttpResponseInterceptor itcp,
int index)
Inserts a response interceptor at the specified index.
|
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.
|
java.lang.Object |
clone() |
BasicHttpProcessor |
copy()
Creates a copy of this instance
|
protected void |
copyInterceptors(BasicHttpProcessor target)
Sets up the target to have the same list of interceptors
as the current instance.
|
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 |
removeRequestInterceptorByClass(java.lang.Class clazz)
Removes all request interceptor of the specified class
|
void |
removeResponseInterceptorByClass(java.lang.Class clazz)
Removes all response interceptor of the specified class
|
void |
setInterceptors(java.util.List list)
Sets the interceptor lists.
|
protected final java.util.List requestInterceptors
protected final java.util.List responseInterceptors
public void addRequestInterceptor(HttpRequestInterceptor itcp)
HttpRequestInterceptorList
addRequestInterceptor
in interface HttpRequestInterceptorList
itcp
- the request interceptor to addpublic void addRequestInterceptor(HttpRequestInterceptor itcp, int index)
HttpRequestInterceptorList
addRequestInterceptor
in interface HttpRequestInterceptorList
itcp
- the request interceptor to addindex
- the index to insert the interceptor atpublic void addResponseInterceptor(HttpResponseInterceptor itcp, int index)
HttpResponseInterceptorList
addResponseInterceptor
in interface HttpResponseInterceptorList
itcp
- the response interceptor to addindex
- the index to insert the interceptor atpublic void removeRequestInterceptorByClass(java.lang.Class clazz)
HttpRequestInterceptorList
removeRequestInterceptorByClass
in interface HttpRequestInterceptorList
clazz
- the class of the instances to be removed.public void removeResponseInterceptorByClass(java.lang.Class clazz)
HttpResponseInterceptorList
removeResponseInterceptorByClass
in interface HttpResponseInterceptorList
clazz
- the class of the instances to be removed.public final void addInterceptor(HttpRequestInterceptor interceptor)
addRequestInterceptor
.interceptor
- the interceptor to addpublic final void addInterceptor(HttpRequestInterceptor interceptor, int index)
public int getRequestInterceptorCount()
HttpRequestInterceptorList
getRequestInterceptorCount
in interface HttpRequestInterceptorList
public HttpRequestInterceptor getRequestInterceptor(int index)
HttpRequestInterceptorList
getRequestInterceptor
in interface HttpRequestInterceptorList
index
- the index of the interceptor to obtain,
0 for firstnull
if the index is out of rangepublic void clearRequestInterceptors()
HttpRequestInterceptorList
clearRequestInterceptors
in interface HttpRequestInterceptorList
public void addResponseInterceptor(HttpResponseInterceptor itcp)
HttpResponseInterceptorList
addResponseInterceptor
in interface HttpResponseInterceptorList
itcp
- the response interceptor to addpublic final void addInterceptor(HttpResponseInterceptor interceptor)
addResponseInterceptor
.interceptor
- the interceptor to addpublic final void addInterceptor(HttpResponseInterceptor interceptor, int index)
public int getResponseInterceptorCount()
HttpResponseInterceptorList
getResponseInterceptorCount
in interface HttpResponseInterceptorList
public HttpResponseInterceptor getResponseInterceptor(int index)
HttpResponseInterceptorList
getResponseInterceptor
in interface HttpResponseInterceptorList
index
- the index of the interceptor to obtain,
0 for firstnull
if the index is out of rangepublic void clearResponseInterceptors()
HttpResponseInterceptorList
clearResponseInterceptors
in interface HttpResponseInterceptorList
public void setInterceptors(java.util.List list)
setInterceptors
in interface HttpRequestInterceptorList
setInterceptors
in interface HttpResponseInterceptorList
list
- the list of request and response interceptors
from which to initializepublic void clearInterceptors()
public void process(HttpRequest request, HttpContext context) throws java.io.IOException, HttpException
HttpRequestInterceptor
process
in interface HttpRequestInterceptor
request
- the request to preprocesscontext
- the context for the requestjava.io.IOException
- in case of an I/O errorHttpException
- in case of an HTTP protocol violationpublic void process(HttpResponse response, HttpContext context) throws java.io.IOException, HttpException
HttpResponseInterceptor
process
in interface HttpResponseInterceptor
response
- the response to postprocesscontext
- the context for the requestjava.io.IOException
- in case of an I/O errorHttpException
- in case of an HTTP protocol violationprotected void copyInterceptors(BasicHttpProcessor target)
target
- object to be initialisedpublic BasicHttpProcessor copy()
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
clone
in class java.lang.Object
java.lang.CloneNotSupportedException