allow to return HTTP::Response object from format_response_data()

A formater can generate HTTP redirect now.
This commit is contained in:
Dietmar Maurer 2014-04-30 09:30:36 +02:00
parent f23d76c905
commit c9c0cd346c

View File

@ -503,10 +503,15 @@ sub handle_api2_request {
PVE::REST::prepare_response_data($format, $res); PVE::REST::prepare_response_data($format, $res);
my ($raw, $ct, $nocomp) = PVE::REST::format_response_data($format, $res, $path); my ($raw, $ct, $nocomp) = PVE::REST::format_response_data($format, $res, $path);
my $resp = HTTP::Response->new($res->{status}, $res->{message}); my $resp;
$resp->header("Content-Type" => $ct); if (ref($raw) && (ref($raw) eq 'HTTP::Response')) {
$resp->content($raw); $resp = $raw;
} else {
$resp = HTTP::Response->new($res->{status}, $res->{message});
$resp->header("Content-Type" => $ct);
$resp->content($raw);
}
$self->response($reqstate, $resp, undef, $nocomp, $delay); $self->response($reqstate, $resp, undef, $nocomp, $delay);
}; };
if (my $err = $@) { if (my $err = $@) {