summaryrefslogtreecommitdiff
path: root/nzbget/main.pm
diff options
context:
space:
mode:
Diffstat (limited to 'nzbget/main.pm')
-rw-r--r--nzbget/main.pm56
1 files changed, 56 insertions, 0 deletions
diff --git a/nzbget/main.pm b/nzbget/main.pm
new file mode 100644
index 0000000..1ff34c5
--- /dev/null
+++ b/nzbget/main.pm
@@ -0,0 +1,56 @@
+package nzbget::main;
+
+use strict;
+use warnings FATAL => 'all';
+no warnings 'redefine';
+
+use Apache2::RequestRec ();
+use Apache2::RequestIO ();
+
+use Apache2::Const -compile => qw(OK);
+
+use nzbget::list;
+use nzbget::download;
+use nzbget::cancel;
+use nzbget::enqueue;
+use nzbget::log;
+use nzbget::pre_enqueue;
+use nzbget::read;
+use nzbget::remove;
+use nzbget::search;
+use nzbget::menu;
+use nzbget::search_upload;
+
+my %modules =
+(
+ download => \&nzbget::download::handler,
+ download_1 => \&nzbget::list::handler,
+ download_2 => \&nzbget::list::handler,
+ cancel=> \&nzbget::cancel::handler,
+ enqueue=> \&nzbget::enqueue::handler,
+ log=> \&nzbget::log::handler,
+ pre_enqueue=> \&nzbget::pre_enqueue::handler,
+ read=> \&nzbget::read::handler,
+ remove=> \&nzbget::remove::handler,
+ search=> \&nzbget::search::handler,
+ search_1=> \&nzbget::search_upload::handler,
+ menu=> \&nzbget::menu::handler,
+);
+
+
+sub handler {
+ my $r = shift;
+
+ my $module = $ENV{REQUEST_URI};
+ $module =~ s'.*/'';
+ $module =~ s'\?.*'';
+ if ($modules{$module})
+ {
+ return $modules{$module}->($r);
+ } else {
+ $r->content_type('text/plain');
+ print "Unknown action $module ($ENV{REQUEST_URI})\n";
+ return Apache2::Const::OK;
+ }
+}
+1;