aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver/objectstore
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2024-05-02 17:01:09 +0200
committerGitHub Enterprise <[email protected]>2024-05-02 17:01:09 +0200
commit375fa71cb816acb25bd2eaf24ef5cc292a1f2c36 (patch)
tree7d8e20b99bd65af37f75cb95f18c0c0001e58dcd /src/zenserver/objectstore
parentbatch cache put (#67) (diff)
downloadzen-375fa71cb816acb25bd2eaf24ef5cc292a1f2c36.tar.xz
zen-375fa71cb816acb25bd2eaf24ef5cc292a1f2c36.zip
use write and move in place for safer writing of files (#70)
* use write and move in place for safer writing of files
Diffstat (limited to 'src/zenserver/objectstore')
-rw-r--r--src/zenserver/objectstore/objectstore.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/zenserver/objectstore/objectstore.cpp b/src/zenserver/objectstore/objectstore.cpp
index 846a228ce..e614b256b 100644
--- a/src/zenserver/objectstore/objectstore.cpp
+++ b/src/zenserver/objectstore/objectstore.cpp
@@ -12,6 +12,7 @@
#include "zencore/compactbinarybuilder.h"
#include "zenhttp/httpcommon.h"
#include "zenhttp/httpserver.h"
+#include "zenutil/basicfile.h"
#include <filesystem>
#include <thread>
@@ -589,7 +590,8 @@ HttpObjectStoreService::PutObject(zen::HttpRouterRequest& Request)
return Request.ServerRequest().WriteResponse(HttpResponseCode::BadRequest);
}
- WriteFile(FilePath, FileBuf);
+ TemporaryFile::SafeWriteFile(FilePath, FileBuf.GetView());
+
ZEN_LOG_DEBUG(LogObj,
"PUT - '{}' [OK] ({})",
(fs::path(BucketName) / RelativeBucketPath).make_preferred(),