From c9c0cd346cb415fe1d844b0fad074580851bffdb Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Wed, 30 Apr 2014 09:30:36 +0200 Subject: [PATCH] allow to return HTTP::Response object from format_response_data() A formater can generate HTTP redirect now. --- PVE/HTTPServer.pm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/PVE/HTTPServer.pm b/PVE/HTTPServer.pm index eea2c944..3ecfb01e 100755 --- a/PVE/HTTPServer.pm +++ b/PVE/HTTPServer.pm @@ -503,10 +503,15 @@ sub handle_api2_request { PVE::REST::prepare_response_data($format, $res); my ($raw, $ct, $nocomp) = PVE::REST::format_response_data($format, $res, $path); - - my $resp = HTTP::Response->new($res->{status}, $res->{message}); - $resp->header("Content-Type" => $ct); - $resp->content($raw); + + my $resp; + if (ref($raw) && (ref($raw) eq 'HTTP::Response')) { + $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); }; if (my $err = $@) {