summaryrefslogtreecommitdiff
path: root/nzbget/main.pm
blob: d732894fb1c0afd1164701ac03f35e6cc6add2e1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package nzbget::main;

use strict;
use warnings FATAL => 'all';
no warnings 'redefine';
BEGIN {
    $SIG{__DIE__} = \&handle_errors;
}

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;
use ModPerl::Util;

sub handle_errors {
#  die @_ if $^S;
     
  my $msg = shift;
#  print "Content-type: text/plain\n\n";
  print $msg;
  ModPerl::Util::exit();
  return;
}

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;