summary refs log tree commit diff
path: root/bin/app.psgi
diff options
context:
space:
mode:
Diffstat (limited to 'bin/app.psgi')
-rw-r--r--bin/app.psgi23
1 files changed, 23 insertions, 0 deletions
diff --git a/bin/app.psgi b/bin/app.psgi
new file mode 100644
index 0000000..21c4aa8
--- /dev/null
+++ b/bin/app.psgi
@@ -0,0 +1,23 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use lib ('lib');
+
+use FeedDiscovery::Handler;
+use Tatsumaki::Application;
+use Plack::Builder;
+use Plack::Middleware::APIRateLimit::Backend::Redis;
+
+my $app = Tatsumaki::Application->new( [ '/' => 'FeedDiscovery::Handler' ], );
+
+builder {
+    enable "Plack::Middleware::ConditionalGET";
+    enable "Plack::Middleware::ETag";
+    enable "Plack::Middleware::APIRateLimit",
+        backend => Plack::Middleware::APIRateLimit::Backend::Redis->new(
+        server => '127.0.0.1:6379',
+        ),
+        requests_per_hour => 4;
+    $app;
+};
+