.class public abstract Lorg/apache/http/impl/AbstractHttpServerConnection; .super Ljava/lang/Object; .source "AbstractHttpServerConnection.java" # interfaces .implements Lorg/apache/http/HttpServerConnection; # 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 requestParser:Lorg/apache/http/io/HttpMessageParser; .annotation system Ldalvik/annotation/Signature; value = { "Lorg/apache/http/io/HttpMessageParser<", "Lorg/apache/http/HttpRequest;", ">;" } .end annotation .end field .field private responseWriter:Lorg/apache/http/io/HttpMessageWriter; .annotation system Ldalvik/annotation/Signature; value = { "Lorg/apache/http/io/HttpMessageWriter<", "Lorg/apache/http/HttpResponse;", ">;" } .end annotation .end field # direct methods .method public constructor ()V .registers 2 .line 95 invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x0 .line 79 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->inbuffer:Lorg/apache/http/io/SessionInputBuffer; .line 80 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->outbuffer:Lorg/apache/http/io/SessionOutputBuffer; .line 81 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->eofSensor:Lorg/apache/http/io/EofSensor; .line 82 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->requestParser:Lorg/apache/http/io/HttpMessageParser; .line 83 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->responseWriter:Lorg/apache/http/io/HttpMessageWriter; .line 84 iput-object v0, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->metrics:Lorg/apache/http/impl/HttpConnectionMetricsImpl; .line 96 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 97 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 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 5 .line 119 new-instance v0, Lorg/apache/http/impl/entity/EntityDeserializer; new-instance v1, Lorg/apache/http/impl/entity/DisallowIdentityContentLengthStrategy; new-instance v2, Lorg/apache/http/impl/entity/LaxContentLengthStrategy; const/4 v3, 0x0 invoke-direct {v2, v3}, Lorg/apache/http/impl/entity/LaxContentLengthStrategy;->(I)V invoke-direct {v1, v2}, Lorg/apache/http/impl/entity/DisallowIdentityContentLengthStrategy;->(Lorg/apache/http/entity/ContentLengthStrategy;)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 createHttpRequestFactory()Lorg/apache/http/HttpRequestFactory; .registers 2 .line 149 sget-object v0, Lorg/apache/http/impl/DefaultHttpRequestFactory;->INSTANCE:Lorg/apache/http/impl/DefaultHttpRequestFactory; return-object v0 .end method .method protected createRequestParser(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/HttpRequestFactory;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/HttpRequestFactory;", "Lorg/apache/http/params/HttpParams;", ")", "Lorg/apache/http/io/HttpMessageParser<", "Lorg/apache/http/HttpRequest;", ">;" } .end annotation .line 171 new-instance v0, Lorg/apache/http/impl/io/DefaultHttpRequestParser; const/4 v1, 0x0 invoke-direct {v0, p1, v1, p2, p3}, Lorg/apache/http/impl/io/DefaultHttpRequestParser;->(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 protected createResponseWriter(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/HttpResponse;", ">;" } .end annotation .line 191 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 protected doFlush()V .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 258 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 .registers 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 263 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpServerConnection;->assertOpen()V .line 264 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpServerConnection;->doFlush()V return-void .end method .method public getMetrics()Lorg/apache/http/HttpConnectionMetrics; .registers 2 .line 312 iget-object v0, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->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/AbstractHttpServerConnection;->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/AbstractHttpServerConnection;->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/AbstractHttpServerConnection;->eofSensor:Lorg/apache/http/io/EofSensor; .line 228 :cond_1d 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 232 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 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/AbstractHttpServerConnection;->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/AbstractHttpServerConnection;->metrics:Lorg/apache/http/impl/HttpConnectionMetricsImpl; return-void .end method .method protected isEof()Z .registers 2 .line 291 iget-object v0, p0, Lorg/apache/http/impl/AbstractHttpServerConnection;->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 isStale()Z .registers 3 .line 296 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpServerConnection;->isOpen()Z move-result v0 const/4 v1, 0x1 if-nez v0, :cond_8 return v1 .line 299 :cond_8 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpServerConnection;->isEof()Z move-result v0 if-eqz v0, :cond_f return v1 .line 303 :cond_f :try_start_f 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 304 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpServerConnection;->isEof()Z move-result v0 :try_end_18 .catch Ljava/io/IOException; {:try_start_f .. :try_end_18} :catch_19 return v0 :catch_19 return v1 .end method .method public receiveRequestEntity(Lorg/apache/http/HttpEntityEnclosingRequest;)V .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 251 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 252 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpServerConnection;->assertOpen()V .line 253 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 254 invoke-interface {p1, v0}, Lorg/apache/http/HttpEntityEnclosingRequest;->setEntity(Lorg/apache/http/HttpEntity;)V return-void .end method .method public receiveRequestHeader()Lorg/apache/http/HttpRequest; .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 242 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpServerConnection;->assertOpen()V .line 243 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 244 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 .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 281 invoke-interface {p1}, Lorg/apache/http/HttpResponse;->getEntity()Lorg/apache/http/HttpEntity; move-result-object v0 if-nez v0, :cond_7 return-void .line 284 :cond_7 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 .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 270 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 271 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpServerConnection;->assertOpen()V .line 272 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 273 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_1e .line 274 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_1e return-void .end method