.class public Lorg/apache/http/impl/DefaultBHttpServerConnection; .super Lorg/apache/http/impl/BHttpConnectionBase; .source "DefaultBHttpServerConnection.java" # interfaces .implements Lorg/apache/http/HttpServerConnection; # instance fields .field private final 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 final 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 (I)V .registers 12 const/4 v8, 0x0 const/4 v9, 0x0 const/4 v3, 0x0 const/4 v4, 0x0 const/4 v5, 0x0 const/4 v6, 0x0 const/4 v7, 0x0 move-object v0, p0 move v1, p1 move v2, p1 .line 111 invoke-direct/range {v0 .. v9}, Lorg/apache/http/impl/DefaultBHttpServerConnection;->(IILjava/nio/charset/CharsetDecoder;Ljava/nio/charset/CharsetEncoder;Lorg/apache/http/config/MessageConstraints;Lorg/apache/http/entity/ContentLengthStrategy;Lorg/apache/http/entity/ContentLengthStrategy;Lorg/apache/http/io/HttpMessageParserFactory;Lorg/apache/http/io/HttpMessageWriterFactory;)V return-void .end method .method public constructor (IILjava/nio/charset/CharsetDecoder;Ljava/nio/charset/CharsetEncoder;Lorg/apache/http/config/MessageConstraints;Lorg/apache/http/entity/ContentLengthStrategy;Lorg/apache/http/entity/ContentLengthStrategy;Lorg/apache/http/io/HttpMessageParserFactory;Lorg/apache/http/io/HttpMessageWriterFactory;)V .registers 19 .annotation system Ldalvik/annotation/Signature; value = { "(II", "Ljava/nio/charset/CharsetDecoder;", "Ljava/nio/charset/CharsetEncoder;", "Lorg/apache/http/config/MessageConstraints;", "Lorg/apache/http/entity/ContentLengthStrategy;", "Lorg/apache/http/entity/ContentLengthStrategy;", "Lorg/apache/http/io/HttpMessageParserFactory<", "Lorg/apache/http/HttpRequest;", ">;", "Lorg/apache/http/io/HttpMessageWriterFactory<", "Lorg/apache/http/HttpResponse;", ">;)V" } .end annotation move-object v8, p0 if-eqz p6, :cond_5 move-object v6, p6 goto :goto_8 .line 93 :cond_5 sget-object v0, Lorg/apache/http/impl/entity/DisallowIdentityContentLengthStrategy;->INSTANCE:Lorg/apache/http/impl/entity/DisallowIdentityContentLengthStrategy; move-object v6, v0 :goto_8 move-object v0, p0 move v1, p1 move v2, p2 move-object v3, p3 move-object v4, p4 move-object v5, p5 move-object/from16 v7, p7 invoke-direct/range {v0 .. v7}, Lorg/apache/http/impl/BHttpConnectionBase;->(IILjava/nio/charset/CharsetDecoder;Ljava/nio/charset/CharsetEncoder;Lorg/apache/http/config/MessageConstraints;Lorg/apache/http/entity/ContentLengthStrategy;Lorg/apache/http/entity/ContentLengthStrategy;)V if-eqz p8, :cond_18 move-object/from16 v0, p8 goto :goto_1a .line 96 :cond_18 sget-object v0, Lorg/apache/http/impl/io/DefaultHttpRequestParserFactory;->INSTANCE:Lorg/apache/http/impl/io/DefaultHttpRequestParserFactory; :goto_1a invoke-virtual {p0}, Lorg/apache/http/impl/DefaultBHttpServerConnection;->getSessionInputBuffer()Lorg/apache/http/io/SessionInputBuffer; move-result-object v1 move-object v2, p5 invoke-interface {v0, v1, p5}, Lorg/apache/http/io/HttpMessageParserFactory;->create(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/config/MessageConstraints;)Lorg/apache/http/io/HttpMessageParser; move-result-object v0 iput-object v0, v8, Lorg/apache/http/impl/DefaultBHttpServerConnection;->requestParser:Lorg/apache/http/io/HttpMessageParser; if-eqz p9, :cond_2a move-object/from16 v0, p9 goto :goto_2c .line 98 :cond_2a sget-object v0, Lorg/apache/http/impl/io/DefaultHttpResponseWriterFactory;->INSTANCE:Lorg/apache/http/impl/io/DefaultHttpResponseWriterFactory; :goto_2c invoke-virtual {p0}, Lorg/apache/http/impl/DefaultBHttpServerConnection;->getSessionOutputBuffer()Lorg/apache/http/io/SessionOutputBuffer; move-result-object v1 invoke-interface {v0, v1}, Lorg/apache/http/io/HttpMessageWriterFactory;->create(Lorg/apache/http/io/SessionOutputBuffer;)Lorg/apache/http/io/HttpMessageWriter; move-result-object v0 iput-object v0, v8, Lorg/apache/http/impl/DefaultBHttpServerConnection;->responseWriter:Lorg/apache/http/io/HttpMessageWriter; return-void .end method .method public constructor (ILjava/nio/charset/CharsetDecoder;Ljava/nio/charset/CharsetEncoder;Lorg/apache/http/config/MessageConstraints;)V .registers 15 const/4 v8, 0x0 const/4 v9, 0x0 const/4 v6, 0x0 const/4 v7, 0x0 move-object v0, p0 move v1, p1 move v2, p1 move-object v3, p2 move-object v4, p3 move-object v5, p4 .line 107 invoke-direct/range {v0 .. v9}, Lorg/apache/http/impl/DefaultBHttpServerConnection;->(IILjava/nio/charset/CharsetDecoder;Ljava/nio/charset/CharsetEncoder;Lorg/apache/http/config/MessageConstraints;Lorg/apache/http/entity/ContentLengthStrategy;Lorg/apache/http/entity/ContentLengthStrategy;Lorg/apache/http/io/HttpMessageParserFactory;Lorg/apache/http/io/HttpMessageWriterFactory;)V return-void .end method # virtual methods .method public bind(Ljava/net/Socket;)V .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 122 invoke-super {p0, p1}, Lorg/apache/http/impl/BHttpConnectionBase;->bind(Ljava/net/Socket;)V return-void .end method .method public flush()V .registers 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 172 invoke-virtual {p0}, Lorg/apache/http/impl/DefaultBHttpServerConnection;->ensureOpen()V .line 173 invoke-virtual {p0}, Lorg/apache/http/impl/DefaultBHttpServerConnection;->doFlush()V return-void .end method .method protected onRequestReceived(Lorg/apache/http/HttpRequest;)V .registers 2 return-void .end method .method protected onResponseSubmitted(Lorg/apache/http/HttpResponse;)V .registers 2 return-void .end method .method public receiveRequestEntity(Lorg/apache/http/HttpEntityEnclosingRequest;)V .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 138 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 139 invoke-virtual {p0}, Lorg/apache/http/impl/DefaultBHttpServerConnection;->ensureOpen()V .line 140 invoke-virtual {p0, p1}, Lorg/apache/http/impl/DefaultBHttpServerConnection;->prepareInput(Lorg/apache/http/HttpMessage;)Lorg/apache/http/HttpEntity; move-result-object v0 .line 141 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 2 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 128 invoke-virtual {p0}, Lorg/apache/http/impl/DefaultBHttpServerConnection;->ensureOpen()V .line 129 iget-object v0, p0, Lorg/apache/http/impl/DefaultBHttpServerConnection;->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 130 invoke-virtual {p0, v0}, Lorg/apache/http/impl/DefaultBHttpServerConnection;->onRequestReceived(Lorg/apache/http/HttpRequest;)V .line 131 invoke-virtual {p0}, Lorg/apache/http/impl/DefaultBHttpServerConnection;->incrementRequestCount()V return-object v0 .end method .method public sendResponseEntity(Lorg/apache/http/HttpResponse;)V .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 159 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 160 invoke-virtual {p0}, Lorg/apache/http/impl/DefaultBHttpServerConnection;->ensureOpen()V .line 161 invoke-interface {p1}, Lorg/apache/http/HttpResponse;->getEntity()Lorg/apache/http/HttpEntity; move-result-object v0 if-nez v0, :cond_f return-void .line 165 :cond_f invoke-virtual {p0, p1}, Lorg/apache/http/impl/DefaultBHttpServerConnection;->prepareOutput(Lorg/apache/http/HttpMessage;)Ljava/io/OutputStream; move-result-object p1 .line 166 invoke-interface {v0, p1}, Lorg/apache/http/HttpEntity;->writeTo(Ljava/io/OutputStream;)V .line 167 invoke-virtual {p1}, Ljava/io/OutputStream;->close()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 147 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 148 invoke-virtual {p0}, Lorg/apache/http/impl/DefaultBHttpServerConnection;->ensureOpen()V .line 149 iget-object v0, p0, Lorg/apache/http/impl/DefaultBHttpServerConnection;->responseWriter:Lorg/apache/http/io/HttpMessageWriter; invoke-interface {v0, p1}, Lorg/apache/http/io/HttpMessageWriter;->write(Lorg/apache/http/HttpMessage;)V .line 150 invoke-virtual {p0, p1}, Lorg/apache/http/impl/DefaultBHttpServerConnection;->onResponseSubmitted(Lorg/apache/http/HttpResponse;)V .line 151 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_1f .line 152 invoke-virtual {p0}, Lorg/apache/http/impl/DefaultBHttpServerConnection;->incrementResponseCount()V :cond_1f return-void .end method