Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Plack::Middleware::ThrUsereContributed Perl DocuPlack::Middleware::Throttle(3)

NAME
       Plack::Middleware::Throttle - A Plack Middleware	for rate-limiting
       incoming	HTTP requests.

SYNOPSIS
	 my $handler = builder {
	   enable "Throttle::Hourly",
	       max     => 2,
	       backend => Plack::Middleware::Throttle::Backend::Hash->new(),
	       path    => qr{^/api};
	   sub { [ '200', [ 'Content-Type' => 'text/html' ], ['hello world'] ] };
	 };

DESCRIPTION
       This is a "Plack" middleware that provides logic	for rate-limiting
       incoming	HTTP requests to Rack applications.

       This middleware provides	three ways to handle throttling	on incoming
       requests	:

       Hourly
	   How many requests an	host can do in one hour. The counter is
	   reseted each	hour.

       Daily
	   How many requets an host can	do in one hour.	The counter is reseted
	   each	day.

       Interval
	   Which interval of time an host must respect between two request.

OPTIONS
       code
	   HTTP	code returned in the response when the limit have been
	   exceeded. By	default	503.

       message
	   HTTP	message	returned in the	response when the limit	have been
	   exceeded. By	defaylt	"Over rate limit".

       backend
	   A cache object to store sessions informations.

	     backend =>	Redis->new(server => '127.0.0.1:6379');

	   or

	     backend =>	Cache::Memcached->new(servers => ["10.0.0.15:11211", "10.0.0.15:11212"]);

	   The cache object must implement get,	set and	incr methods. By
	   default, you	can use	"Plack::Middleware::Throttle::Backend::Hash".

	   By default, if no backend is	specified,
	   Plack::Middleware::Throttle::Backend::Hash is used.

       key_prefix
	   Key to prefix sessions entry	in the cache.

       path
	   URL pattern or a callback to	match request to throttle. If no path
	   is specified, the whole application will be throttled.

       white_list
	   An arrayref of hosts	to put in a white list.

       black_list
	   An arrayref of hosts	to put in a black list.

AUTHOR
       franck cuny <franck@lumberjaph.net>

SEE ALSO
LICENSE
       This library is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

perl v5.32.0			  2010-04-28	Plack::Middleware::Throttle(3)

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | AUTHOR | SEE ALSO | LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Plack::Middleware::Throttle&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help