package WebApp;
use Dancer ':syntax';

use Cwd;
use File::Slurp qw/slurp/;
use File::Basename;
use File::Path qw/make_path/;

our $VERSION = '0.1';

my $UPDIR = '/home/smash/playground/natura.svn.main/Conclave/antlr/WebApp/uploads';

hook before_template => sub {
    my $tokens = shift;
    my $path = request->base->path;
    $tokens->{uri_base} = $path eq '/' ? $path : $path.'/';
};

get '/' => sub {
    template 'index';
};

post '/ws' => sub {
  my $file = request->upload('upload_file');
  content_type 'text/plain';

  return "file not found" unless $file;
  my $filename = $file->filename;
  $filename =~ s/.*?\///;
  make_path($UPDIR.'/'.dirname($filename));
  $file->copy_to($UPDIR.'/'.$filename);

  my $curr = getcwd;
  chdir $UPDIR;
  my $res = `CLASSPATH=".:/home/smash/java/antlr-4.1-complete.jar:\$CLASSPATH" java Conclave $filename`;
  chdir $curr;

  return $res;
};

true;
