]> git.proxmox.com Git - pve-manager.git/commitdiff
allow to return HTTP::Response object from format_response_data()
authorDietmar Maurer <dietmar@proxmox.com>
Wed, 30 Apr 2014 07:30:36 +0000 (09:30 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Wed, 30 Apr 2014 07:30:36 +0000 (09:30 +0200)
A formater can generate HTTP redirect now.

PVE/HTTPServer.pm

index eea2c9446a8e9162667ef83af0b8efd80884a124..3ecfb01eb6b0a6171ebe84ce859522c3a67c9e9f 100755 (executable)
@@ -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 = $@) {