NAME
UniEvent::HTTP::Response - HTTP client response class
SYNOPSIS
http_request({
uri => "http://example.com",
response_callback => sub {
my ($request, $response, $error) = @_;
say $response->code;
say $response->message;
say $response->body;
say Dumper($response->headers);
say Dumper($response->cookies);
...
},
});
my $response = http_request_sync($request);
say $response->body;
...
DESCRIPTION
Objects of UniEvent::HTTP::Response
represent http response on client side and are passed to request callbacks. Normally, response objects are not created by user, instead a response object is created automatically when parsing response. You can customize how response object is created via response_factory()
, see UniEvent::HTTP::Request.
UniEvent::HTTP::Response
inherits from Protocol::HTTP::Response. So for complete documenation you need to also read Protocol::HTTP::Response's docs.
See detailed description in corresponding method docs.
METHODS
All methods of Protocol::HTTP::Response also apply.
new()
Constructs a response object.
NOTE: If you create your own response class inherited from UniEvent::HTTP::Response
, you must proxy to original new()
method and use its result as the object you return. By default it is a reference to undef, you can upgrade it to hash-based object via XS::Framework::obj2hv
:
package MyResponse;
use parent 'UniEvent::HTTP::Response';
sub new {
my $self = shift->SUPER::new();
XS::Framework::obj2hv($self);
$self->{prop} = "val";
return $self;
}
...
$request->response_factory(sub { MyResponse->new });
is_done()
Returns true if response has been fully received including the whole body. This method can return false in partial_callback
(see UniEvent::HTTP::Request) or if an error occurs.