Net::Amazon::S3::Response - Behaviour common to most S3 responses.
package Command::Response;
extends 'Net::Amazon::S3::Response';
...
my $response = Command::Response->new (
http_response => $http_response,
);
Response handler base class providing functionality common to most S3 responses.
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.
Constructor accepts only one (required) parameter -
"http_response". It should act like
HTTP::Response.
- 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
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.
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
- 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
Further methods delegated to "http_response".
Refer HTTP::Response for description.
- code
- message
- status_line
- content
- decoded_content
- header
- headers
- header_field_names
Branislav Zahradník <barney@cpan.org>
This module is part of Net::Amazon::S3.
Branislav Zahradník <barney@cpan.org>
This software is copyright (c) 2021 by Amazon Digital Services, Leon Brocard,
Brad Fitzpatrick, Pedro Figueiredo, Rusty Conover, Branislav Zahradník.
This is free software; you can redistribute it and/or modify it
under the same terms as the Perl 5 programming language system itself.