Skip to content

Commit eac49c0

Browse files
author
Alexis Sukrieh
committed
FIX Dancer::HTTP::status so direct access with code number don't break the status line generated
1 parent 1c6c5db commit eac49c0

File tree

3 files changed

+5
-5
lines changed

3 files changed

+5
-5
lines changed

lib/Dancer/HTTP.pm

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,17 @@ my $HTTP_CODES = {
2727
# aliases
2828
for my $code ( keys %$HTTP_CODES ) {
2929
my $alias = lc join '_', split /\W/, $HTTP_CODES->{$code};
30-
$alias =~ s/^\d+_//;
31-
$HTTP_CODES->{$alias} = $code . ' ' . $HTTP_CODES->{$code};
30+
my $status_line = $code . ' ' . $HTTP_CODES->{$code};
31+
$HTTP_CODES->{$alias} = $status_line;
32+
$HTTP_CODES->{$code} = $status_line;
3233
}
3334

3435
# own aliases
3536
$HTTP_CODES->{error} = $HTTP_CODES->{internal_server_error};
3637

3738
sub status {
3839
my $name = shift;
39-
return undef unless exists $HTTP_CODES->{$name};
40+
die "unknown HTTP status code: $name" unless exists $HTTP_CODES->{$name};
4041
return "HTTP/1.0 " . $HTTP_CODES->{$name} . "\r\n";
4142
}
4243

t/02_http_request/001_basic_request.t

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ my $port = 8888;
1313
set port => $port;
1414
set access_log => false;
1515

16-
1716
get '/' => sub { "been here" };
1817
get '/error' => sub { send_error "foo" };
1918

t/03_route_handler/09_status.t

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ foreach my $test (@tests) {
2121
Dancer::SharedData->cgi($cgi);
2222
my $response = Dancer::Renderer::get_action_response();
2323

24-
is(Dancer::HTTP::status($response->{status}), "HTTP/1.0 $expected",
24+
is(Dancer::HTTP::status($response->{status}), "HTTP/1.0 $expected\r\n",
2525
"status looks good for $method $path");
2626
}
2727

0 commit comments

Comments
 (0)