File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -972,10 +972,22 @@ struct curlFileTransfer : public FileTransfer
972972 if (request.uri .scheme () == " s3" ) {
973973 auto modifiedRequest = request;
974974 modifiedRequest.setupForS3 ();
975- return enqueueItem (make_ref<TransferItem>(*this , std::move (modifiedRequest), std::move (callback)));
975+ auto item = make_ref<TransferItem>(*this , std::move (modifiedRequest), std::move (callback));
976+ try {
977+ return enqueueItem (item);
978+ } catch (const nix::Error & e) {
979+ item->fail (e);
980+ return ItemHandle (static_cast <Item &>(*item));
981+ }
976982 }
977983
978- return enqueueItem (make_ref<TransferItem>(*this , request, std::move (callback)));
984+ auto item = make_ref<TransferItem>(*this , request, std::move (callback));
985+ try {
986+ return enqueueItem (item);
987+ } catch (const nix::Error & e) {
988+ item->fail (e);
989+ return ItemHandle (static_cast <Item &>(*item));
990+ }
979991 }
980992
981993 void unpauseTransfer (ref<TransferItem> item)
You can’t perform that action at this time.
0 commit comments