NAME HTTP::Response::Stringable - Makes HTTP::Response objects stringable VERSION version 0.0001 SYNOPSIS my $res = LWP::UserAgent->new->get('http://example.com'); Role::Tiny->apply_roles_to_object($res, 'HTTP::Response::Stringable'); print "$res"; DESCRIPTION This module is a role that can be applied to HTTP::Response objects to make them stringable. After applying this role to the response object, you can use it in string context. The resulting string will be of the form: $res->status_line . "\n" . $res->content My motivation for creating this module was that I wanted to throw "HTTP::Response" objects as exceptions, and exception objects should have a string representation so that they can be properly logged. Here is an example use case: package WidgetFactory; use Moo; use LWP::UserAgent; sub create_widget { my $res = LWP::UserAgent->new->post('http://widget-factory/widgets'); if (not $res->is_success) { require Role::Tiny; Role::Tiny->apply_roles_to_object($res, 'HTTP::Response::Stringable'); die $res; } } # ... package main; use WidgetFactory; use TryCatch; my $wf = WidgetFactory->new; try { $wf->create_widget(); } catch (HTTP::Response $res) { debug "Creating widget failed: $res"; } AUTHOR Naveed Massjouni COPYRIGHT AND LICENSE This software is copyright (c) 2014 by Naveed Massjouni. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.