NAME

Kubernetes::REST::LWPIO - HTTP client using LWP::UserAgent

VERSION

version 1.107

SYNOPSIS

use Kubernetes::REST::LWPIO;

my $io = Kubernetes::REST::LWPIO->new(
    ssl_verify_server => 1,
    ssl_ca_file => '/path/to/ca.crt',
);

# Access the LWP::UserAgent for debugging (e.g. with LWP::ConsoleLogger)
use LWP::ConsoleLogger::Easy qw(debug_ua);
debug_ua($io->ua);

DESCRIPTION

HTTP client implementation using LWP::UserAgent for making Kubernetes API requests. This is the default IO backend for Kubernetes::REST.

The ua attribute is exposed so that debugging tools like LWP::ConsoleLogger can be attached to inspect HTTP traffic.

Response bodies are returned as bytes, via decoded_content(charset => 'none'): Content-Encoding is undone, the charset is left to Kubernetes::REST. See "Encoding contract" in Kubernetes::REST::Role::IO.

This backend does not implement call_duplex: Kubernetes::REST methods that need full-duplex transport (port_forward, exec, attach) croak against it by design. Use Net::Async::Kubernetes for those.

ssl_verify_server

Boolean. Whether to verify the server's SSL certificate. Defaults to true.

ssl_cert_file

Path to a client certificate file (PEM) for TLS client-certificate authentication. Ignored when ssl_cert_pem is set.

ssl_cert_pem

Client certificate as a PEM string, for TLS client-certificate authentication. Takes precedence over ssl_cert_file.

ssl_key_file

Path to the private key file (PEM) matching ssl_cert_file or ssl_cert_pem. Ignored when ssl_key_pem is set.

ssl_key_pem

Private key as a PEM string, matching ssl_cert_file or ssl_cert_pem. Takes precedence over ssl_key_file.

ssl_ca_file

Path to a CA certificate file (PEM) used to verify the server's certificate. Ignored when ssl_ca_pem is set.

ssl_ca_pem

CA certificate as a PEM string, used to verify the server's certificate. Takes precedence over ssl_ca_file.

timeout

Timeout in seconds for HTTP requests. Defaults to 310 (slightly more than the Kubernetes default watch timeout of 300s).

ua

The underlying LWP::UserAgent instance. Access this to attach middleware such as LWP::ConsoleLogger for HTTP debugging.

call

my $response = $io->call($req);

Execute an HTTP request. Receives a fully prepared Kubernetes::REST::HTTPRequest (URL, headers, content all set). Returns a Kubernetes::REST::HTTPResponse.

call_streaming

my $response = $io->call_streaming($req, sub { my ($chunk) = @_; ... });

Execute an HTTP request with streaming response. The $data_callback is called with each chunk of data as it arrives.

Used internally by "watch" in Kubernetes::REST for the Watch API.

SEE ALSO

SUPPORT

Issues

Please report bugs and feature requests on GitHub at https://github.com/pplu/kubernetes-rest/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.

AUTHORS

  • Torsten Raudssus <getty@cpan.org>

  • Jose Luis Martinez Torres <jlmartin@cpan.org>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2019-2026 by Jose Luis Martinez Torres <jlmartin@cpan.org>.

This is free software, licensed under:

The Apache License, Version 2.0, January 2004