NAME
WWW::Hetzner::Role::IO - Interface role for pluggable HTTP backends
VERSION
version 0.100
SYNOPSIS
package My::AsyncIO;
use Moo;
with 'WWW::Hetzner::Role::IO';
sub call {
my ($self, $req) = @_;
# Execute HTTP request, return WWW::Hetzner::HTTPResponse
...
}
DESCRIPTION
This role defines the interface that HTTP backends must implement. WWW::Hetzner::Role::HTTP delegates all HTTP communication through this interface, making it possible to swap out the transport layer.
The default backend is WWW::Hetzner::LWPIO (synchronous, using LWP::UserAgent). To use an async event loop, implement this role with e.g. Net::Async::HTTP or Mojo::UserAgent.
REQUIRED METHODS
call($req)
Execute an HTTP request. Receives a WWW::Hetzner::HTTPRequest with method, url, headers, and optionally content already set.
Must return a WWW::Hetzner::HTTPResponse with status and content.
SEE ALSO
WWW::Hetzner::LWPIO, WWW::Hetzner::Role::HTTP
SUPPORT
Issues
Please report bugs and feature requests on GitHub at https://github.com/Getty/p5-www-hetzner/issues.
IRC
Join #kubernetes on irc.perl.org or message Getty directly.
CONTRIBUTING
Contributions are welcome! Please fork the repository and submit a pull request.
AUTHOR
Torsten Raudssus <torsten@raudssus.de>
COPYRIGHT AND LICENSE
This software is copyright (c) 2026 by Torsten Raudssus.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.