NAME
Net::Amazon::S3::Response - Behaviour common to most S3 responses.
VERSION
version 0.991
SYNOPSIS
package Command::Response;
extends 'Net::Amazon::S3::Response';
...
my $response = Command::Response->new (
http_response => $http_response,
);
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.
Response classification methods
- 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" 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
Error handling
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.
Common Response Headers
See "S3 Common Response Headers" 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 parsing
- 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
HTTP Response methods
Further methods delegated to http_response
. Refer HTTP::Response for description.
- code
- message
- status_line
- content
- decoded_content
- header
- headers
- header_field_names
AUTHOR
Branislav Zahradník <barney@cpan.org>
COPYRIGHT AND LICENSE
This module is part of Net::Amazon::S3.
AUTHOR
Branislav Zahradník <barney@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2022 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.