.class public Lcom/amazonaws/http/StaxResponseHandler; .super Ljava/lang/Object; .source "SourceFile" # interfaces .implements Lcom/amazonaws/http/HttpResponseHandler; # annotations .annotation system Ldalvik/annotation/Signature; value = { "", "Ljava/lang/Object;", "Lcom/amazonaws/http/HttpResponseHandler<", "Lcom/amazonaws/AmazonWebServiceResponse<", "TT;>;>;" } .end annotation # static fields .field public static final XML_PULL_PARSER_FACTORY:Lorg/xmlpull/v1/XmlPullParserFactory; .field public static final log:Lcom/amazonaws/logging/Log; # instance fields .field public responseUnmarshaller:Lcom/amazonaws/transform/Unmarshaller; # direct methods .method static constructor ()V .locals 3 const-string v0, "com.amazonaws.request" .line 49 invoke-static {v0}, Lcom/amazonaws/logging/LogFactory;->getLog(Ljava/lang/String;)Lcom/amazonaws/logging/Log; move-result-object v0 sput-object v0, Lcom/amazonaws/http/StaxResponseHandler;->log:Lcom/amazonaws/logging/Log; .line 55 :try_start_0 invoke-static {}, Lorg/xmlpull/v1/XmlPullParserFactory;->newInstance()Lorg/xmlpull/v1/XmlPullParserFactory; move-result-object v0 sput-object v0, Lcom/amazonaws/http/StaxResponseHandler;->XML_PULL_PARSER_FACTORY:Lorg/xmlpull/v1/XmlPullParserFactory; :try_end_0 .catch Lorg/xmlpull/v1/XmlPullParserException; {:try_start_0 .. :try_end_0} :catch_0 return-void :catch_0 move-exception v0 .line 57 new-instance v1, Lcom/amazonaws/AmazonClientException; const-string v2, "Couldn\'t initialize XmlPullParserFactory" invoke-direct {v1, v2, v0}, Lcom/amazonaws/AmazonClientException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw v1 .end method .method public constructor (Lcom/amazonaws/transform/Unmarshaller;)V .locals 0 .line 69 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p1, p0, Lcom/amazonaws/http/StaxResponseHandler;->responseUnmarshaller:Lcom/amazonaws/transform/Unmarshaller; if-nez p1, :cond_0 .line 79 new-instance p1, Lcom/amazonaws/transform/VoidStaxUnmarshaller; invoke-direct {p1}, Lcom/amazonaws/transform/VoidStaxUnmarshaller;->()V iput-object p1, p0, Lcom/amazonaws/http/StaxResponseHandler;->responseUnmarshaller:Lcom/amazonaws/transform/Unmarshaller; :cond_0 return-void .end method # virtual methods .method public handle(Lcom/amazonaws/http/HttpResponse;)Lcom/amazonaws/AmazonWebServiceResponse; .locals 6 sget-object v0, Lcom/amazonaws/http/StaxResponseHandler;->log:Lcom/amazonaws/logging/Log; const-string v1, "Parsing service response XML" .line 88 invoke-interface {v0, v1}, Lcom/amazonaws/logging/Log;->trace(Ljava/lang/Object;)V .line 89 invoke-virtual {p1}, Lcom/amazonaws/http/HttpResponse;->getContent()Ljava/io/InputStream; move-result-object v1 if-nez v1, :cond_0 .line 91 new-instance v1, Ljava/io/ByteArrayInputStream; const-string v2, "" sget-object v3, Lcom/amazonaws/util/StringUtils;->UTF8:Ljava/nio/charset/Charset; invoke-virtual {v2, v3}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B move-result-object v2 invoke-direct {v1, v2}, Ljava/io/ByteArrayInputStream;->([B)V :cond_0 sget-object v2, Lcom/amazonaws/http/StaxResponseHandler;->XML_PULL_PARSER_FACTORY:Lorg/xmlpull/v1/XmlPullParserFactory; .line 93 invoke-virtual {v2}, Lorg/xmlpull/v1/XmlPullParserFactory;->newPullParser()Lorg/xmlpull/v1/XmlPullParser; move-result-object v2 const/4 v3, 0x0 .line 94 invoke-interface {v2, v1, v3}, Lorg/xmlpull/v1/XmlPullParser;->setInput(Ljava/io/InputStream;Ljava/lang/String;)V .line 96 new-instance v1, Lcom/amazonaws/AmazonWebServiceResponse; invoke-direct {v1}, Lcom/amazonaws/AmazonWebServiceResponse;->()V .line 97 new-instance v3, Lcom/amazonaws/transform/StaxUnmarshallerContext; .line 98 invoke-virtual {p1}, Lcom/amazonaws/http/HttpResponse;->getHeaders()Ljava/util/Map; move-result-object v4 invoke-direct {v3, v2, v4}, Lcom/amazonaws/transform/StaxUnmarshallerContext;->(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/Map;)V const-string v2, "ResponseMetadata/RequestId" const/4 v4, 0x2 const-string v5, "AWS_REQUEST_ID" .line 99 invoke-virtual {v3, v2, v4, v5}, Lcom/amazonaws/transform/StaxUnmarshallerContext;->registerMetadataExpression(Ljava/lang/String;ILjava/lang/String;)V const-string v2, "requestId" .line 101 invoke-virtual {v3, v2, v4, v5}, Lcom/amazonaws/transform/StaxUnmarshallerContext;->registerMetadataExpression(Ljava/lang/String;ILjava/lang/String;)V .line 103 invoke-virtual {p0, v3}, Lcom/amazonaws/http/StaxResponseHandler;->registerAdditionalMetadataExpressions(Lcom/amazonaws/transform/StaxUnmarshallerContext;)V iget-object v2, p0, Lcom/amazonaws/http/StaxResponseHandler;->responseUnmarshaller:Lcom/amazonaws/transform/Unmarshaller; .line 105 invoke-interface {v2, v3}, Lcom/amazonaws/transform/Unmarshaller;->unmarshall(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v2 .line 106 invoke-virtual {v1, v2}, Lcom/amazonaws/AmazonWebServiceResponse;->setResult(Ljava/lang/Object;)V .line 108 invoke-virtual {v3}, Lcom/amazonaws/transform/StaxUnmarshallerContext;->getMetadata()Ljava/util/Map; move-result-object v2 .line 109 invoke-virtual {p1}, Lcom/amazonaws/http/HttpResponse;->getHeaders()Ljava/util/Map; move-result-object p1 if-eqz p1, :cond_1 const-string v3, "x-amzn-RequestId" .line 111 invoke-interface {p1, v3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v4 if-eqz v4, :cond_1 .line 113 invoke-interface {p1, v3}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 .line 112 invoke-interface {v2, v5, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 116 :cond_1 new-instance p1, Lcom/amazonaws/ResponseMetadata; invoke-direct {p1, v2}, Lcom/amazonaws/ResponseMetadata;->(Ljava/util/Map;)V invoke-virtual {v1, p1}, Lcom/amazonaws/AmazonWebServiceResponse;->setResponseMetadata(Lcom/amazonaws/ResponseMetadata;)V const-string p1, "Done parsing service response" .line 118 invoke-interface {v0, p1}, Lcom/amazonaws/logging/Log;->trace(Ljava/lang/Object;)V return-object v1 .end method .method public bridge synthetic handle(Lcom/amazonaws/http/HttpResponse;)Ljava/lang/Object; .locals 0 .line 43 invoke-virtual {p0, p1}, Lcom/amazonaws/http/StaxResponseHandler;->handle(Lcom/amazonaws/http/HttpResponse;)Lcom/amazonaws/AmazonWebServiceResponse; move-result-object p1 return-object p1 .end method .method public needsConnectionLeftOpen()Z .locals 1 const/4 v0, 0x0 return v0 .end method .method public registerAdditionalMetadataExpressions(Lcom/amazonaws/transform/StaxUnmarshallerContext;)V .locals 0 return-void .end method