Hello,

I cannot decide who is responsible for an exception in the following
example -- me or http-core? Should I always handle the
"getEntity()==null" case in interceptors?

BTW: ResponseGzipUncompress does not check the case as well
http://svn.apache.org/repos/asf/httpcomponents/httpcore/tags/4.0.1/contrib/src/main/java/org/apache/http/contrib/compress/ResponseGzipUncompress.java

Thank you,
LG

===
Example:

WARNING: ioReactor thread
org.apache.http.nio.reactor.IOReactorException: I/O dispatch worker
terminated abnormally
    at
org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:326)
    at web.NioHttpDownloader$4.run(NioHttpDownloader.java:163)
    at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
    at web.NioHttpDownloader$3.process(NioHttpDownloader.java:137)
    at
org.apache.http.protocol.BasicHttpProcessor.process(BasicHttpProcessor.java:263)
    at
org.apache.http.nio.protocol.AsyncNHttpClientHandler.responseReceived(AsyncNHttpClientHandler.java:307)
    at
web.NioHttpClientHandler.responseReceived(NioHttpClientHandler.java:89)
    at
org.apache.http.impl.nio.DefaultNHttpClientConnection.consumeInput(DefaultNHttpClientConnection.java:168)
    at
org.apache.http.impl.nio.DefaultClientIOEventDispatch.inputReady(DefaultClientIOEventDispatch.java:146)
    at
org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:153)
    at
org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:314)
    at
org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:294)
    at
org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:256)
    at
org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:96)
    at
org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:556)
    ... 1 more

NioHttpClientHandler.responseReceived routine is just:
    public void responseReceived(final NHttpClientConnection conn) {
        this.asyncHandler.responseReceived(conn);
    }

and $3.process routine is:

        httpproc.addInterceptor(new HttpResponseInterceptor() {

            public void process(final HttpResponse response, final
HttpContext context) throws HttpException, IOException {
                HttpEntity entity = response.getEntity();
                // line 137:
                Header ceheader = entity.getContentEncoding();
                ....


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to