NAME
Langertha::Knarr::PSGI - PSGI adapter for Langertha::Knarr (buffered, no streaming)
VERSION
version 1.001
SYNOPSIS
use Langertha::Knarr;
use Langertha::Knarr::PSGI;
my $knarr = Langertha::Knarr->new( handler => $handler );
my $app = Langertha::Knarr::PSGI->new( steerboard => $knarr )->to_app;
# $app is now a Plack-compatible coderef
# Run with any PSGI server:
# plackup -s Starman -p 8088 app.psgi
DESCRIPTION
Adapter that wraps a Langertha::Knarr instance and exposes it as a PSGI app, so you can deploy Knarr behind any Plack server (Starman, Twiggy, Gazelle, mod_perl, etc.) instead of running its native Net::Async::HTTP::Server loop.
Streaming responses are buffered. The PSGI streaming protocol's delayed-response form does work in theory but mixes badly with IO::Async in the same process; for honesty's sake this adapter just drives the inner stream to completion in a blocking loop and returns the full assembled body. Use the native "run" in Langertha::Knarr entry point if you need real-time streaming.
steerboard
Required. The Langertha::Knarr instance to expose. (Attribute name preserved from the upstream Steerboard prototype.)
to_app
Returns the PSGI coderef.
SUPPORT
Issues
Please report bugs and feature requests on GitHub at https://github.com/Getty/langertha-knarr/issues.
IRC
Join #langertha 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> https://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.