.class public abstract Lorg/apache/http/impl/AbstractHttpServerConnection; .super Ljava/lang/Object; .source "AbstractHttpServerConnection.java" # interfaces .implements Lorg/apache/http/HttpServerConnection; # 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 requestParser:Lorg/apache/http/io/HttpMessageParser; .field private responseWriter:Lorg/apache/http/io/HttpMessageWriter; # 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/AbstractHttpServerConnection;->inbuffer:Lorg/apache/http/io/SessionInputBuffer; .line 3 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->outbuffer:Lorg/apache/http/io/SessionOutputBuffer; .line 4 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->eofSensor:Lorg/apache/http/io/EofSensor; .line 5 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->requestParser:Lorg/apache/http/io/HttpMessageParser; .line 6 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->responseWriter:Lorg/apache/http/io/HttpMessageWriter; .line 7 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->metrics:Lorg/apache/http/impl/HttpConnectionMetricsImpl; .line 8 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpServerConnection;->createEntitySerializer()Lorg/apache/http/impl/entity/EntitySerializer; move-result-object v0 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->entityserializer:Lorg/apache/http/impl/entity/EntitySerializer; .line 9 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpServerConnection;->createEntityDeserializer()Lorg/apache/http/impl/entity/EntityDeserializer; move-result-object v0 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->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 createHttpRequestFactory()Lorg/apache/http/HttpRequestFactory; .locals 1 .line 1 new-instance v0, Lorg/apache/http/impl/DefaultHttpRequestFactory; invoke-direct {v0}, Lorg/apache/http/impl/DefaultHttpRequestFactory;->()V return-object v0 .end method .method public createRequestParser(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/HttpRequestFactory;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/io/HttpMessageParser; .locals 2 .line 1 new-instance v0, Lorg/apache/http/impl/io/HttpRequestParser; const/4 v1, 0x0 invoke-direct {v0, p1, v1, p2, p3}, Lorg/apache/http/impl/io/HttpRequestParser;->(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/message/LineParser;Lorg/apache/http/HttpRequestFactory;Lorg/apache/http/params/HttpParams;)V return-object v0 .end method .method public createResponseWriter(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/HttpResponseWriter; const/4 v1, 0x0 invoke-direct {v0, p1, v1, p2}, Lorg/apache/http/impl/io/HttpResponseWriter;->(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/message/LineFormatter;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/AbstractHttpServerConnection;->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/AbstractHttpServerConnection;->assertOpen()V .line 2 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpServerConnection;->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/AbstractHttpServerConnection;->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/AbstractHttpServerConnection;->inbuffer:Lorg/apache/http/io/SessionInputBuffer; .line 2 iput-object p2, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->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/AbstractHttpServerConnection;->eofSensor:Lorg/apache/http/io/EofSensor; .line 5 :cond_0 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpServerConnection;->createHttpRequestFactory()Lorg/apache/http/HttpRequestFactory; move-result-object v0 invoke-virtual {p0, p1, v0, p3}, Lorg/apache/http/impl/AbstractHttpServerConnection;->createRequestParser(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/HttpRequestFactory;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/io/HttpMessageParser; move-result-object v0 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->requestParser:Lorg/apache/http/io/HttpMessageParser; .line 6 invoke-virtual {p0, p2, p3}, Lorg/apache/http/impl/AbstractHttpServerConnection;->createResponseWriter(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/AbstractHttpServerConnection;->responseWriter: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/AbstractHttpServerConnection;->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/AbstractHttpServerConnection;->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 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/AbstractHttpServerConnection;->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/AbstractHttpServerConnection;->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/AbstractHttpServerConnection;->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 receiveRequestEntity(Lorg/apache/http/HttpEntityEnclosingRequest;)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/AbstractHttpServerConnection;->assertOpen()V .line 2 iget-object v0, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->entitydeserializer:Lorg/apache/http/impl/entity/EntityDeserializer; iget-object v1, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->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/HttpEntityEnclosingRequest;->setEntity(Lorg/apache/http/HttpEntity;)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 .method public receiveRequestHeader()Lorg/apache/http/HttpRequest; .locals 2 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpServerConnection;->assertOpen()V .line 2 iget-object v0, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->requestParser: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/HttpRequest; .line 3 iget-object v1, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->metrics:Lorg/apache/http/impl/HttpConnectionMetricsImpl; invoke-virtual {v1}, Lorg/apache/http/impl/HttpConnectionMetricsImpl;->incrementRequestCount()V return-object v0 .end method .method public sendResponseEntity(Lorg/apache/http/HttpResponse;)V .locals 3 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 1 invoke-interface {p1}, Lorg/apache/http/HttpResponse;->getEntity()Lorg/apache/http/HttpEntity; move-result-object v0 if-nez v0, :cond_0 return-void .line 2 :cond_0 iget-object v0, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->entityserializer:Lorg/apache/http/impl/entity/EntitySerializer; iget-object v1, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->outbuffer:Lorg/apache/http/io/SessionOutputBuffer; invoke-interface {p1}, Lorg/apache/http/HttpResponse;->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 sendResponseHeader(Lorg/apache/http/HttpResponse;)V .locals 1 .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/AbstractHttpServerConnection;->assertOpen()V .line 2 iget-object v0, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->responseWriter:Lorg/apache/http/io/HttpMessageWriter; invoke-interface {v0, p1}, Lorg/apache/http/io/HttpMessageWriter;->write(Lorg/apache/http/HttpMessage;)V .line 3 invoke-interface {p1}, Lorg/apache/http/HttpResponse;->getStatusLine()Lorg/apache/http/StatusLine; move-result-object p1 invoke-interface {p1}, Lorg/apache/http/StatusLine;->getStatusCode()I move-result p1 const/16 v0, 0xc8 if-lt p1, v0, :cond_0 .line 4 iget-object p1, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->metrics:Lorg/apache/http/impl/HttpConnectionMetricsImpl; invoke-virtual {p1}, Lorg/apache/http/impl/HttpConnectionMetricsImpl;->incrementResponseCount()V :cond_0 return-void .line 5 :cond_1 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