]> git.sesse.net Git - pr0n/blobdiff - perl/Sesse/pr0n/pr0n.pm
Kill WebDAV entirely; now only the PUT and OPTIONS are left.
[pr0n] / perl / Sesse / pr0n / pr0n.pm
index 54e55be8270f43ca12c42f89b262e3d59b91c053..3c9161b94b1da8b117db489c8b4b6c6c89ae7736 100644 (file)
@@ -4,8 +4,9 @@ use Sesse::pr0n::Index;
 use Sesse::pr0n::Image;
 use Sesse::pr0n::Rotate;
 use Sesse::pr0n::Select;
-use Sesse::pr0n::WebDAV;
 use Sesse::pr0n::NewEvent;
+use Sesse::pr0n::Upload;
+use Sesse::pr0n::UploadForm;
 use IO::File::WithPath;
 
 package Sesse::pr0n::pr0n;
@@ -21,7 +22,6 @@ sub handler {
        } elsif ($uri eq '/robots.txt' ||
                 $uri eq '/pr0n.css' ||
                 $uri eq '/skoyen.css' ||
-                $uri eq '/blah.png' ||
                 $uri eq '/faq.html' ||
                 $uri eq '/pr0n-fullscreen.css' ||
                 $uri eq '/pr0n-fullscreen-ie.css' ||
@@ -29,9 +29,7 @@ sub handler {
                 $uri eq '/previous.png' ||
                 $uri eq '/next.png' ||
                 $uri eq '/close.png' ||
-                $uri eq '/wizard.js' ||
-                $uri eq '/wizard.css' ||
-                $uri eq '/pr0n.ico' ||
+                $uri eq '/options.png' ||
                 $uri =~ m#^/usage/([a-zA-Z0-9_.]+)$#) {
                $uri =~ s#^/##;
                my $fname = $Sesse::pr0n::Config::image_base . 'files/' . $uri;
@@ -54,8 +52,6 @@ sub handler {
                $res->content_type('text/html; charset=utf-8');
                $res->content(IO::File::WithPath->new($Sesse::pr0n::Config::image_base . 'files/newevent.html'));
                return $res;
-       } elsif ($uri =~ m#^/webdav#) {
-               return Sesse::pr0n::WebDAV::handler($r);
        } elsif ($uri =~ m#^/usage/([a-zA-Z0-9.-]+)$#) {
                my $res = Plack::Response->new(200);
                $res->content(IO::File::WithPath->new($Sesse::pr0n::Config::image_base . "usage/$1"));
@@ -66,6 +62,10 @@ sub handler {
                return Sesse::pr0n::Select::handler($r);
        } elsif ($uri =~ m#^/newevent$#) {
                return Sesse::pr0n::NewEvent::handler($r);
+       } elsif ($uri =~ /^\/upload\// && ($r->method eq 'OPTIONS' || $r->method eq 'PUT')) {
+               return Sesse::pr0n::Upload::handler($r);
+       } elsif ($uri =~ /^\/upload\/[a-zA-Z0-9-]+\/?$/) {
+               return Sesse::pr0n::UploadForm::handler($r);
        } elsif ($uri =~ /^\/[a-zA-Z0-9-]+\/?$/ ||
                 $uri =~ /^\/\+all\/?$/) {
                return Sesse::pr0n::Index::handler($r);