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.