NAME
Protocol::Tus::Response
SYNOPSIS
use Protocol::Tus::Response;
my $tus = ...; # assume it's a Protocol::Tus object
my $response = $tus->HTTP_request(...);
my $status = $response->status;
my $headers_href = $response->headers;
my $body_if_any = $response->body;
my $exception_if_any = $response->exception;
my $upload_id = $response->id;
DESCRIPTION
Wrap response to a Protocol::Tus request with convenience accessors and methods.
INTERFACE
as_hash
my $hash_ref = $response->as_hash;
Return a hash reference with status, headers, and body.
body
my $body = $response->body;
Accessor to the body of the response, if any. Defaults to the empty string.
exception
my $exception = $response->exception;
Accessor to an exception object (most probably Ouch) if any occurred. useful to generate logs.
headers
my $headers_href = $response->headers;
Accessor to a hash reference with headers. The method is read-only but the headers can be manipulated.
id
my $id = $response->id;
Accessor to the upload identifier. This is mostly useful when creating a new upload, because it's necessary to set the Location header in the actual response sent back to the client and this header has to somehow allow referencing this id. For this use case, anyway, see "id_to_location" in Protocol::Tus to allow Protocol::Tus do the right thing for you.
is_error
my $bool = $response->is_error;
Check if the response's "status" represents an error (any status code greater than or equal to 400).
more_headers
$response->more_headers({ Foo => 'Bar', Baz => 10 });
Add headers to the ones already present. It does NOTHING fancy, so headers with the same name are substituted and headers that have different keys that case-fold to the same string are saved differently.
It's not a method intended for general consumption but still.
new_from_exception
my $response = Protocol::Tus::Response->new_from_exception($e);
Generate a new response from an exception. If the input $e is a Ouch object, it will use its methods to set the "status" and "body" parts; otherwise the status will be 500 and the body a generic one. In all cases, the input exception $e is saved as "exception".
status
my $status = $response->status;
Accessor to the status code of the response.
ANYTHING ELSE (INCLUDING AUTHOR, COPYRIGHT AND LICENSE)
See documentation for Protocol::Tus.