NAME
Test2::Tools::HTTP::Apps - App container class for Test2::Tools::HTTP
VERSION
version 0.12
SYNOPSIS
DESCRIPTION
This acts as a container for zero or more PSGI applications that have been added using Test2::Tools::HTTP's psgi_app_add
method. It is used by a user agent wrapper (Test2::Tools::HTTP::UA) class to dispatch requests to the correct PSGI app.
CONSTRUCTOR
new
my $apps = Test2::Tools::HTTP::Apps->new;
This class is a singleton, so this always returns the same instance.
METHODS
uri_key
my $key = $apps->uri_key($url);
This function returns the URI key given a fully qualified URL. The key usually contains the schema, host and port but not the path or other components of the URI. The actual key format is subject to change and you should not depend on it.
add_psgi
$apps->add_psgi($uri, $app) = @_;
Add the given PSGI app to the container. The URI should specify the URL used to access the app.
del_psgi
$apps->del_psgi($uri);
Remove the app with the given URI from the container.
base_url
my $url = $apps->base_url;
This is the base URL used to qualify relative URLs. It is an instance of URI.
uri_to_app
my $app = $apps->uri_to_app($uri);
Given a URL (possibly relative) this function returns the PSGI app for it. If there are no apps registered for the URL then it will return undef
.
uri_to_tester
my $tester = $apps->uri_to_tester;
Same as uri_to-tester
except it returns the a Plack::Test wrapped around the PSGI application.
SEE ALSO
AUTHOR
Graham Ollis <plicease@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2018-2022 by Graham Ollis.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.