forked from tczepiel/perl-plack-middleware-timeout
-
Notifications
You must be signed in to change notification settings - Fork 0
Nowaker/perl-plack-middleware-timeout
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
NAME
Plack::Middleware::Timeout
SYNOPSIS
my $app = sub { ... };
Plack::Middleeare::Timeout->wrap(
$app,
timeout => 120,
# optional callback to set the custom response
response => sub {
my ($response_obj) = @_;
$response_obj->code(HTTP_REQUEST_TIMEOUT);
$response_obj->body( encode_json({
timeout => 1,
other_info => {...},
}));
return $plack_response;
}
);
DESCRIPTION
Timeout any plack requests at an arbitrary time.
PARAMETERS
timeout
Numeric value accepted by subroutine defined in Time::HiRes::alarm,
default: 120 seconds.
response
Optional subroutine which will be exeuted when timeout is reached. The
subref receives a Plack::Response object as argument. If the response
subref isn't defined, we resolve to emitting a warning:
'Terminated request for uri '%s' due to timeout (%ds)'
and return a response code 504 (HTTP_GATEWAY_TIMEOUT).
soft_timeout
Same as timeout, except this value will be checked after the call to
the app has completed. See also "on_soft_timeout" below.
on_soft_timeout
optional coderef that'll get executed when we established, that time
required to serve the response was longer than a value provided in the
soft_timeout parameter. If soft_timeout is set but no on_soft_timeout
coderef is provided, we're going to issue a warning as follows; the
response will be returned as normal.
'Soft timeout reached for uri '%s' (soft timeout: %ds) request
took %ds'
AUTHOR
Tomasz Czepiel <tjmc@cpan.org>
LICENCE
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
About
timeout requests running too long
Resources
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- Perl 100.0%