From 6d832dbcedf59baf4cd0afed5403154e165aafe1 Mon Sep 17 00:00:00 2001 From: Stefan Reiter Date: Wed, 21 Apr 2021 13:15:35 +0200 Subject: [PATCH] allow 'download' to be passed from API handler PVE::HTTPServer in pve-manager wraps the API return value in a 'data' element, look for a 'download' element there too to allow an API call to instruct the HTTP server to return a file via path or filehandle. Signed-off-by: Stefan Reiter --- PVE/APIServer/AnyEvent.pm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/PVE/APIServer/AnyEvent.pm b/PVE/APIServer/AnyEvent.pm index 8a1af54..60a2a1c 100644 --- a/PVE/APIServer/AnyEvent.pm +++ b/PVE/APIServer/AnyEvent.pm @@ -812,7 +812,10 @@ sub handle_api2_request { $delay = 0 if $delay < 0; } - if (defined(my $download = $res->{download})) { + my $download = $res->{download}; + $download //= $res->{data}->{download} + if defined($res->{data}) && ref($res->{data}) eq 'HASH'; + if (defined($download)) { send_file_start($self, $reqstate, $download); return; } -- 2.39.2