.class public abstract Lorg/apache/http/impl/AbstractHttpClientConnection; .super Ljava/lang/Object; .source "AbstractHttpClientConnection.java" # interfaces .implements Lorg/apache/http/HttpClientConnection; # 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; .field private responseParser:Lorg/apache/http/io/HttpMessageParser; # direct methods .method public constructor ()V .locals 1 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x0 .line 2 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->inbuffer:Lorg/apache/http/io/SessionInputBuffer; .line 3 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->outbuffer:Lorg/apache/http/io/SessionOutputBuffer; .line 4 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->eofSensor:Lorg/apache/http/io/EofSensor; .line 5 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->responseParser:Lorg/apache/http/io/HttpMessageParser; .line 6 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->requestWriter:Lorg/apache/http/io/HttpMessageWriter; .line 7 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->metrics:Lorg/apache/http/impl/HttpConnectionMetricsImpl; .line 8 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 9 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 public abstract assertOpen()V .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/IllegalStateException; } .end annotation .end method .method public createEntityDeserializer()Lorg/apache/http/impl/entity/EntityDeserializer; .locals 2 .line 1 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 public createEntitySerializer()Lorg/apache/http/impl/entity/EntitySerializer; .locals 2 .line 1 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 public createHttpResponseFactory()Lorg/apache/http/HttpResponseFactory; .locals 1 .line 1 new-instance v0, Lorg/apache/http/impl/DefaultHttpResponseFactory; invoke-direct {v0}, Lorg/apache/http/impl/DefaultHttpResponseFactory;->()V return-object v0 .end method .method public createRequestWriter(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/io/HttpMessageWriter; .locals 2 .line 1 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 public createResponseParser(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/HttpResponseFactory;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/io/HttpMessageParser; .locals 2 .line 1 new-instance v0, Lorg/apache/http/impl/io/HttpResponseParser; const/4 v1, 0x0 invoke-direct {v0, p1, v1, p2, p3}, Lorg/apache/http/impl/io/HttpResponseParser;->(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 public doFlush()V .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1 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 .locals 0 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->assertOpen()V .line 2 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->doFlush()V return-void .end method .method public getMetrics()Lorg/apache/http/HttpConnectionMetrics; .locals 1 .line 1 iget-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->metrics:Lorg/apache/http/impl/HttpConnectionMetricsImpl; return-object v0 .end method .method public init(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/params/HttpParams;)V .locals 1 if-eqz p1, :cond_2 if-eqz p2, :cond_1 .line 1 iput-object p1, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->inbuffer:Lorg/apache/http/io/SessionInputBuffer; .line 2 iput-object p2, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->outbuffer:Lorg/apache/http/io/SessionOutputBuffer; .line 3 instance-of v0, p1, Lorg/apache/http/io/EofSensor; if-eqz v0, :cond_0 .line 4 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 5 :cond_0 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 6 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 7 new-instance p3, Lorg/apache/http/impl/HttpConnectionMetricsImpl; 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-direct {p3, p1, p2}, Lorg/apache/http/impl/HttpConnectionMetricsImpl;->(Lorg/apache/http/io/HttpTransportMetrics;Lorg/apache/http/io/HttpTransportMetrics;)V iput-object p3, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->metrics:Lorg/apache/http/impl/HttpConnectionMetricsImpl; return-void .line 8 :cond_1 new-instance p1, Ljava/lang/IllegalArgumentException; const-string p2, "Output session buffer may not be null" invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .line 9 :cond_2 new-instance p1, Ljava/lang/IllegalArgumentException; const-string p2, "Input session buffer may not be null" invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method public isEof()Z .locals 1 .line 1 iget-object v0, p0, Lorg/apache/http/impl/AbstractHttpClientConnection;->eofSensor:Lorg/apache/http/io/EofSensor; if-eqz v0, :cond_0 invoke-interface {v0}, Lorg/apache/http/io/EofSensor;->isEof()Z move-result v0 if-eqz v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public isResponseAvailable(I)Z .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->assertOpen()V .line 2 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 return p1 .end method .method public isStale()Z .locals 2 .line 1 invoke-interface {p0}, Lorg/apache/http/HttpConnection;->isOpen()Z move-result v0 const/4 v1, 0x1 if-nez v0, :cond_0 return v1 .line 2 :cond_0 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->isEof()Z move-result v0 if-eqz v0, :cond_1 return v1 .line 3 :cond_1 :try_start_0 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 4 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->isEof()Z move-result v0 :try_end_0 .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 return v0 :catch_0 return v1 .end method .method public receiveResponseEntity(Lorg/apache/http/HttpResponse;)V .locals 2 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation if-eqz p1, :cond_0 .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->assertOpen()V .line 2 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 3 invoke-interface {p1, v0}, Lorg/apache/http/HttpResponse;->setEntity(Lorg/apache/http/HttpEntity;)V return-void .line 4 :cond_0 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "HTTP response may not be null" invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method public receiveResponseHeader()Lorg/apache/http/HttpResponse; .locals 3 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->assertOpen()V .line 2 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 3 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_0 .line 4 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_0 return-object v0 .end method .method public sendRequestEntity(Lorg/apache/http/HttpEntityEnclosingRequest;)V .locals 3 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation if-eqz p1, :cond_1 .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->assertOpen()V .line 2 invoke-interface {p1}, Lorg/apache/http/HttpEntityEnclosingRequest;->getEntity()Lorg/apache/http/HttpEntity; move-result-object v0 if-nez v0, :cond_0 return-void .line 3 :cond_0 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 .line 4 :cond_1 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "HTTP request may not be null" invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method public sendRequestHeader(Lorg/apache/http/HttpRequest;)V .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation if-eqz p1, :cond_0 .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->assertOpen()V .line 2 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 3 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 .line 4 :cond_0 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "HTTP request may not be null" invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method