'Generic Commit'
Some checks failed
Build-Test-Publish / build (linux/amd64) (push) Failing after 9s
Build-Test-Publish / build (linux/arm64) (push) Successful in 2m5s
Build-Test-Publish / create-manifest (push) Has been skipped

This commit is contained in:
Your Name
2025-06-15 22:01:49 +12:00
parent d4a40621ca
commit 48d12367e7
3 changed files with 3 additions and 13 deletions

View File

@@ -70,7 +70,7 @@ void HttpController::uploadObject(const drogon::HttpRequestPtr &req,
std::function<void(const drogon::HttpResponsePtr &)> &&callback) {
auto server = Server::getInstance();
if (server && server->put_handler_) {
server->put_handler_->handle_put_object(req, std::move(callback));
server->put_handler_->handle_upload_object(req, std::move(callback));
} else {
auto resp = drogon::HttpResponse::newHttpResponse();
resp->setStatusCode(drogon::k500InternalServerError);

View File

@@ -26,7 +26,7 @@ namespace simple_object_storage {
PutHandler::PutHandler(Server& server) : server_(server) {}
void PutHandler::handle_put_object(const drogon::HttpRequestPtr& req, std::function<void(const drogon::HttpResponsePtr &)>&& callback) {
void PutHandler::handle_upload_object(const drogon::HttpRequestPtr& req, std::function<void(const drogon::HttpResponsePtr &)>&& callback) {
// Check all request parameters first before processing any data
auto resp = drogon::HttpResponse::newHttpResponse();
@@ -36,16 +36,6 @@ void PutHandler::handle_put_object(const drogon::HttpRequestPtr& req, std::funct
return;
}
// 1. Check we're in the /upload path
if (req->getPath() != "/upload") {
resp->setStatusCode(drogon::k404NotFound);
nlohmann::json response = {{"result", "error"}, {"error", "Not found - put requests must be to /upload"}};
resp->setBody(response.dump());
resp->setContentTypeCode(drogon::CT_APPLICATION_JSON);
callback(resp);
return;
}
// Check content length first
auto contentLengthHeader = req->getHeader("content-length");
if (!contentLengthHeader.empty()) {

View File

@@ -11,7 +11,7 @@ namespace simple_object_storage {
class PutHandler {
public:
PutHandler(Server& server);
void handle_put_object(const drogon::HttpRequestPtr& req, std::function<void(const drogon::HttpResponsePtr &)>&& callback);
void handle_upload_object(const drogon::HttpRequestPtr& req, std::function<void(const drogon::HttpResponsePtr &)>&& callback);
private:
Server& server_;