.class public abstract Lorg/apache/http/impl/AbstractHttpClientConnection; .super Ljava/lang/Object; .source "AbstractHttpClientConnection.java" # interfaces .implements Lorg/apache/http/HttpClientConnection; # annotations .annotation runtime Ljava/lang/Deprecated; .end annotation # instance fields .field private final entitydeserializer:Lorg/apache/http/impl/entity/EntityDeserializer; .field private final entityserializer:Lorg/apache/http/impl/entity/EntitySerializer; .field private eofSensor:Lorg/apache/http/io/EofSensor; .field private inbuffer:Lorg/apache/http/io/SessionInputBuffer; .field private metrics:Lorg/apache/http/impl/HttpConnectionMetricsImpl; .field private outbuffer:Lorg/apache/http/io/SessionOutputBuffer; .field private requestWriter:Lorg/apache/http/io/HttpMessageWriter; .annotation system Ldalvik/annotation/Signature; value = { "Lorg/apache/http/io/HttpMessageWriter<", "Lorg/apache/http/HttpRequest;", ">;" } .end annotation .end field .field private responseParser:Lorg/apache/http/io/HttpMessageParser; .annotation system Ldalvik/annotation/Signature; value = { "Lorg/apache/http/io/HttpMessageParser<", "Lorg/apache/http/HttpResponse;", ">;" } .end annotation .end field # direct methods .method public constructor ()V .registers 2 .line 96 invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x0 .line 80 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->inbuffer:Lorg/apache/http/io/SessionInputBuffer; .line 81 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->outbuffer:Lorg/apache/http/io/SessionOutputBuffer; .line 82 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->eofSensor:Lorg/apache/http/io/EofSensor; .line 83 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->responseParser:Lorg/apache/http/io/HttpMessageParser; .line 84 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->requestWriter:Lorg/apache/http/io/HttpMessageWriter; .line 85 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->metrics:Lorg/apache/http/impl/HttpConnectionMetricsImpl; .line 97 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->createEntitySerializer()Lorg/apache/http/impl/entity/EntitySerializer; move-result-object v0 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->entityserializer:Lorg/apache/http/impl/entity/EntitySerializer; .line 98 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->createEntityDeserializer()Lorg/apache/http/impl/entity/EntityDeserializer; move-result-object v0 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->entitydeserializer:Lorg/apache/http/impl/entity/EntityDeserializer; return-void .end method # virtual methods .method protected abstract assertOpen()V .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/IllegalStateException; } .end annotation .end method .method protected createConnectionMetrics(Lorg/apache/http/io/HttpTransportMetrics;Lorg/apache/http/io/HttpTransportMetrics;)Lorg/apache/http/impl/HttpConnectionMetricsImpl; .registers 4 .line 200 new-instance v0, Lorg/apache/http/impl/HttpConnectionMetricsImpl; invoke-direct {v0, p1, p2}, Lorg/apache/http/impl/HttpConnectionMetricsImpl;->(Lorg/apache/http/io/HttpTransportMetrics;Lorg/apache/http/io/HttpTransportMetrics;)V return-object v0 .end method .method protected createEntityDeserializer()Lorg/apache/http/impl/entity/EntityDeserializer; .registers 3 .line 120 new-instance v0, Lorg/apache/http/impl/entity/EntityDeserializer; new-instance v1, Lorg/apache/http/impl/entity/LaxContentLengthStrategy; invoke-direct {v1}, Lorg/apache/http/impl/entity/LaxContentLengthStrategy;->()V invoke-direct {v0, v1}, Lorg/apache/http/impl/entity/EntityDeserializer;->(Lorg/apache/http/entity/ContentLengthStrategy;)V return-object v0 .end method .method protected createEntitySerializer()Lorg/apache/http/impl/entity/EntitySerializer; .registers 3 .line 135 new-instance v0, Lorg/apache/http/impl/entity/EntitySerializer; new-instance v1, Lorg/apache/http/impl/entity/StrictContentLengthStrategy; invoke-direct {v1}, Lorg/apache/http/impl/entity/StrictContentLengthStrategy;->()V invoke-direct {v0, v1}, Lorg/apache/http/impl/entity/EntitySerializer;->(Lorg/apache/http/entity/ContentLengthStrategy;)V return-object v0 .end method .method protected createHttpResponseFactory()Lorg/apache/http/HttpResponseFactory; .registers 2 .line 149 sget-object v0, Lorg/apache/http/impl/DefaultHttpResponseFactory;->INSTANCE:Lorg/apache/http/impl/DefaultHttpResponseFactory; return-object v0 .end method .method protected createRequestWriter(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/io/HttpMessageWriter; .registers 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lorg/apache/http/io/SessionOutputBuffer;", "Lorg/apache/http/params/HttpParams;", ")", "Lorg/apache/http/io/HttpMessageWriter<", "Lorg/apache/http/HttpRequest;", ">;" } .end annotation .line 191 new-instance v0, Lorg/apache/http/impl/io/HttpRequestWriter; const/4 v1, 0x0 invoke-direct {v0, p1, v1, p2}, Lorg/apache/http/impl/io/HttpRequestWriter;->(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/message/LineFormatter;Lorg/apache/http/params/HttpParams;)V return-object v0 .end method .method protected createResponseParser(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/HttpResponseFactory;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/io/HttpMessageParser; .registers 6 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lorg/apache/http/io/SessionInputBuffer;", "Lorg/apache/http/HttpResponseFactory;", "Lorg/apache/http/params/HttpParams;", ")", "Lorg/apache/http/io/HttpMessageParser<", "Lorg/apache/http/HttpResponse;", ">;" } .end annotation .line 171 new-instance v0, Lorg/apache/http/impl/io/DefaultHttpResponseParser; const/4 v1, 0x0 invoke-direct {v0, p1, v1, p2, p3}, Lorg/apache/http/impl/io/DefaultHttpResponseParser;->(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/message/LineParser;Lorg/apache/http/HttpResponseFactory;Lorg/apache/http/params/HttpParams;)V return-object v0 .end method .method protected doFlush()V .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 273 iget-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->outbuffer:Lorg/apache/http/io/SessionOutputBuffer; invoke-interface {v0}, Lorg/apache/http/io/SessionOutputBuffer;->flush()V return-void .end method .method public flush()V .registers 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 278 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->assertOpen()V .line 279 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->doFlush()V return-void .end method .method public getMetrics()Lorg/apache/http/HttpConnectionMetrics; .registers 2 .line 326 iget-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->metrics:Lorg/apache/http/impl/HttpConnectionMetricsImpl; return-object v0 .end method .method protected init(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/params/HttpParams;)V .registers 5 .line 223 const-string v0, "Input session buffer" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; move-result-object v0 check-cast v0, Lorg/apache/http/io/SessionInputBuffer; iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->inbuffer:Lorg/apache/http/io/SessionInputBuffer; .line 224 const-string v0, "Output session buffer" invoke-static {p2, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; move-result-object v0 check-cast v0, Lorg/apache/http/io/SessionOutputBuffer; iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->outbuffer:Lorg/apache/http/io/SessionOutputBuffer; .line 225 instance-of v0, p1, Lorg/apache/http/io/EofSensor; if-eqz v0, :cond_1d .line 226 move-object v0, p1 check-cast v0, Lorg/apache/http/io/EofSensor; iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->eofSensor:Lorg/apache/http/io/EofSensor; .line 228 :cond_1d invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->createHttpResponseFactory()Lorg/apache/http/HttpResponseFactory; move-result-object v0 invoke-virtual {p0, p1, v0, p3}, Lorg/apache/http/impl/AbstractHttpClientConnection;->createResponseParser(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/HttpResponseFactory;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/io/HttpMessageParser; move-result-object v0 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->responseParser:Lorg/apache/http/io/HttpMessageParser; .line 232 invoke-virtual {p0, p2, p3}, Lorg/apache/http/impl/AbstractHttpClientConnection;->createRequestWriter(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/io/HttpMessageWriter; move-result-object p3 iput-object p3, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->requestWriter:Lorg/apache/http/io/HttpMessageWriter; .line 234 invoke-interface {p1}, Lorg/apache/http/io/SessionInputBuffer;->getMetrics()Lorg/apache/http/io/HttpTransportMetrics; move-result-object p1 invoke-interface {p2}, Lorg/apache/http/io/SessionOutputBuffer;->getMetrics()Lorg/apache/http/io/HttpTransportMetrics; move-result-object p2 invoke-virtual {p0, p1, p2}, Lorg/apache/http/impl/AbstractHttpClientConnection;->createConnectionMetrics(Lorg/apache/http/io/HttpTransportMetrics;Lorg/apache/http/io/HttpTransportMetrics;)Lorg/apache/http/impl/HttpConnectionMetricsImpl; move-result-object p1 iput-object p1, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->metrics:Lorg/apache/http/impl/HttpConnectionMetricsImpl; return-void .end method .method protected isEof()Z .registers 2 .line 303 iget-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->eofSensor:Lorg/apache/http/io/EofSensor; if-eqz v0, :cond_c invoke-interface {v0}, Lorg/apache/http/io/EofSensor;->isEof()Z move-result v0 if-eqz v0, :cond_c const/4 v0, 0x1 goto :goto_d :cond_c const/4 v0, 0x0 :goto_d return v0 .end method .method public isResponseAvailable(I)Z .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 241 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->assertOpen()V .line 243 :try_start_3 iget-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->inbuffer:Lorg/apache/http/io/SessionInputBuffer; invoke-interface {v0, p1}, Lorg/apache/http/io/SessionInputBuffer;->isDataAvailable(I)Z move-result p1 :try_end_9 .catch Ljava/net/SocketTimeoutException; {:try_start_3 .. :try_end_9} :catch_a return p1 :catch_a const/4 p1, 0x0 return p1 .end method .method public isStale()Z .registers 3 .line 308 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->isOpen()Z move-result v0 const/4 v1, 0x1 if-nez v0, :cond_8 return v1 .line 311 :cond_8 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->isEof()Z move-result v0 if-eqz v0, :cond_f return v1 .line 315 :cond_f :try_start_f iget-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->inbuffer:Lorg/apache/http/io/SessionInputBuffer; invoke-interface {v0, v1}, Lorg/apache/http/io/SessionInputBuffer;->isDataAvailable(I)Z .line 316 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->isEof()Z move-result v0 :try_end_18 .catch Ljava/net/SocketTimeoutException; {:try_start_f .. :try_end_18} :catch_1a .catch Ljava/io/IOException; {:try_start_f .. :try_end_18} :catch_19 return v0 :catch_19 return v1 :catch_1a const/4 v0, 0x0 return v0 .end method .method public receiveResponseEntity(Lorg/apache/http/HttpResponse;)V .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 296 const-string v0, "HTTP response" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 297 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->assertOpen()V .line 298 iget-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->entitydeserializer:Lorg/apache/http/impl/entity/EntityDeserializer; iget-object v1, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->inbuffer:Lorg/apache/http/io/SessionInputBuffer; invoke-virtual {v0, v1, p1}, Lorg/apache/http/impl/entity/EntityDeserializer;->deserialize(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/HttpMessage;)Lorg/apache/http/HttpEntity; move-result-object v0 .line 299 invoke-interface {p1, v0}, Lorg/apache/http/HttpResponse;->setEntity(Lorg/apache/http/HttpEntity;)V return-void .end method .method public receiveResponseHeader()Lorg/apache/http/HttpResponse; .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 285 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->assertOpen()V .line 286 iget-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->responseParser:Lorg/apache/http/io/HttpMessageParser; invoke-interface {v0}, Lorg/apache/http/io/HttpMessageParser;->parse()Lorg/apache/http/HttpMessage; move-result-object v0 check-cast v0, Lorg/apache/http/HttpResponse; .line 287 invoke-interface {v0}, Lorg/apache/http/HttpResponse;->getStatusLine()Lorg/apache/http/StatusLine; move-result-object v1 invoke-interface {v1}, Lorg/apache/http/StatusLine;->getStatusCode()I move-result v1 const/16 v2, 0xc8 if-lt v1, v2, :cond_1c .line 288 iget-object v1, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->metrics:Lorg/apache/http/impl/HttpConnectionMetricsImpl; invoke-virtual {v1}, Lorg/apache/http/impl/HttpConnectionMetricsImpl;->incrementResponseCount()V :cond_1c return-object v0 .end method .method public sendRequestEntity(Lorg/apache/http/HttpEntityEnclosingRequest;)V .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 261 const-string v0, "HTTP request" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 262 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->assertOpen()V .line 263 invoke-interface {p1}, Lorg/apache/http/HttpEntityEnclosingRequest;->getEntity()Lorg/apache/http/HttpEntity; move-result-object v0 if-nez v0, :cond_f return-void .line 266 :cond_f iget-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->entityserializer:Lorg/apache/http/impl/entity/EntitySerializer; iget-object v1, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->outbuffer:Lorg/apache/http/io/SessionOutputBuffer; invoke-interface {p1}, Lorg/apache/http/HttpEntityEnclosingRequest;->getEntity()Lorg/apache/http/HttpEntity; move-result-object v2 invoke-virtual {v0, v1, p1, v2}, Lorg/apache/http/impl/entity/EntitySerializer;->serialize(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/HttpMessage;Lorg/apache/http/HttpEntity;)V return-void .end method .method public sendRequestHeader(Lorg/apache/http/HttpRequest;)V .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 252 const-string v0, "HTTP request" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 253 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->assertOpen()V .line 254 iget-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->requestWriter:Lorg/apache/http/io/HttpMessageWriter; invoke-interface {v0, p1}, Lorg/apache/http/io/HttpMessageWriter;->write(Lorg/apache/http/HttpMessage;)V .line 255 iget-object p1, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->metrics:Lorg/apache/http/impl/HttpConnectionMetricsImpl; invoke-virtual {p1}, Lorg/apache/http/impl/HttpConnectionMetricsImpl;->incrementRequestCount()V return-void .end method