[ $_[1]->reason || $_[1]->filename ],
]
},
+ sub (POST + %* + %biff=) {
+ $_[1]->{bar} ||= 'EMPTY';
+ [ 200,
+ [ "Content-type" => "text/plain" ],
+ [ join(' ',@{$_[1]}{qw(biff bong)}) ]
+ ]
+ },
}
}
my $app = PostTest->new;
sub run_request { $app->run_test_request(@_); }
-my $get = run_request(GET => 'http://localhost/');
+my $get = run_request(GET 'http://localhost/');
cmp_ok($get->code, '==', 404, '404 on GET');
-my $no_body = run_request(POST => 'http://localhost/');
+my $no_body = run_request(POST 'http://localhost/');
cmp_ok($no_body->code, '==', 404, '404 with empty body');
-my $no_foo = run_request(POST => 'http://localhost/' => [ bar => 'BAR' ]);
+my $no_foo = run_request(POST 'http://localhost/' => [ bar => 'BAR' ]);
cmp_ok($no_foo->code, '==', 404, '404 with no foo param');
-my $no_bar = run_request(POST => 'http://localhost/' => [ foo => 'FOO' ]);
+my $no_bar = run_request(POST 'http://localhost/' => [ foo => 'FOO' ]);
cmp_ok($no_bar->code, '==', 200, '200 with only foo param');
is($no_bar->content, 'FOO EMPTY', 'bar defaulted');
my $both = run_request(
- POST => 'http://localhost/' => [ foo => 'FOO', bar => 'BAR' ]
+ POST 'http://localhost/' => [ foo => 'FOO', bar => 'BAR' ]
);
cmp_ok($both->code, '==', 200, '200 with both params');
is($upload->content, 'FOO BAR', 'both params returned');
+my $upload_splat = run_request(
+ POST 'http://localhost'
+ => Content_Type => 'form-data'
+ => Content => [
+ biff => 'frew',
+ bong => 'fru'
+ ]
+);
+
+cmp_ok($upload_splat->code, '==', 200, '200 with multipart');
+
+is($upload_splat->content, 'frew fru', 'both params returned');
+
my $upload_wrongtype = run_request(
- POST => 'http://localhost'
+ POST 'http://localhost'
=> [ baz => 'fleem' ]
);