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;
my $r = shift;
my $uri = $r->path_info;
- if ($uri eq '/' || $uri =~ /^\/\+tags\/?$/) {
+ if ($uri eq '/') {
return Sesse::pr0n::Listing::handler($r);
} 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' ||
$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;
$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"));
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\/?$/ ||
- $uri =~ /^\/\+tags\/[a-zA-Z0-9-]+\/?$/) {
+ $uri =~ /^\/\+all\/?$/) {
return Sesse::pr0n::Index::handler($r);
- } elsif ($uri =~ m#^/[a-zA-Z0-9-]+/(\d+x\d+(\@\d+(\.\d+)?)?/|original/)((?:no)?box/)?[a-zA-Z0-9._()-]+$#) {
+ } elsif ($uri =~ m#^/[a-zA-Z0-9-]+/
+ (\d+x\d+ ( \@\d+(\.\d+)? )? / | original/ )?
+ ((?:no)?box/)?
+ [a-zA-Z0-9._()-]+$#x) {
return Sesse::pr0n::Image::handler($r);
}