logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Net::Amazon::S3::Response - Behaviour common to most S3 responses.

Author

       Branislav Zahradník <barney@cpan.org>

Description

       Response handler base class providing functionality common to most S3 responses.

Extending

       Net::Amazon::S3::Response provides methods to cache response data.

       _data
           Read-only accessor initialized by "_build_data"

       _build_data
           Data builder, by default calls "_parse_data" if response is success and provides valid XML document.

       _parse_data
           Abstract (undefined in parent) method to be implemented by children.

Methods

Constructor
       Constructor accepts only one (required) parameter - "http_response".  It should act like HTTP::Response.

   Responseclassificationmethods
       is_success
           True if response is a success response, false otherwise.

           Successful response may contain invalid XML.

       is_redirect
           True if response is a redirect.

       is_error
           True if response is an error response, false otherwise.

           Response  is  considered  to  be  an error either when response code is an HTTP error (4xx or 5xx) or
           response content is an error XML document.

           See also "S3  Error  Response"  <https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html>
           for more details.

       is_internal_response
           True if response is generated by user agent itself (eg: Cannot connect)

       is_xml_content
           True if response data is a valid XML document

   Errorhandling
       Apart error classifition Net::Amazon::S3::Response provides also common error data accessors.

       Error data are available only in case of error response.

       error_code
           Either content of "Error/Code" XML element or HTTP response code.

       error_message
           Either content of "Error/Message" XML element or HTTP response message.

       error_request_id
           Content  of "Error/RequestId" XML element if available, "x-amz-request-id" header if available, empty
           list otherwise.

       error_resource
           Content of c<Error/Resource> if available, request uri otherwise.

   CommonResponseHeaders
       See                   "S3                   Common                   Response                    Headers"
       <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonResponseHeaders.html> for more details.

       content_length
       content_type
       connection
       etag
           ETag with trimmed leading/trailing quotes.

       server
       delete_marker
       request_id
       id_2
       version_id

   XMLDocumentparsing
       xml_document
           Lazy built instance of XML::LibXML.

           Available only if response is XML response and contains valid XML document.

       xpath_context
           Lazy built instance of XML::LibXML::XPathContext.

           Available only if response is XML response and contains valid XML document

   HTTPResponsemethods
       Further methods delegated to "http_response".  Refer HTTP::Response for description.

       code
       message
       status_line
       content
       decoded_content
       header
       headers
       header_field_names

Name

       Net::Amazon::S3::Response - Behaviour common to most S3 responses.

Synopsis

               package Command::Response;
               extends 'Net::Amazon::S3::Response';

               ...
               my $response = Command::Response->new (
                       http_response => $http_response,
               );

Version

       version 0.991

See Also