'Generic Commit'
This commit is contained in:
@@ -70,7 +70,7 @@ void HttpController::uploadObject(const drogon::HttpRequestPtr &req,
|
|||||||
std::function<void(const drogon::HttpResponsePtr &)> &&callback) {
|
std::function<void(const drogon::HttpResponsePtr &)> &&callback) {
|
||||||
auto server = Server::getInstance();
|
auto server = Server::getInstance();
|
||||||
if (server && server->put_handler_) {
|
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 {
|
} else {
|
||||||
auto resp = drogon::HttpResponse::newHttpResponse();
|
auto resp = drogon::HttpResponse::newHttpResponse();
|
||||||
resp->setStatusCode(drogon::k500InternalServerError);
|
resp->setStatusCode(drogon::k500InternalServerError);
|
||||||
|
@@ -26,7 +26,7 @@ namespace simple_object_storage {
|
|||||||
|
|
||||||
PutHandler::PutHandler(Server& server) : server_(server) {}
|
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
|
// Check all request parameters first before processing any data
|
||||||
auto resp = drogon::HttpResponse::newHttpResponse();
|
auto resp = drogon::HttpResponse::newHttpResponse();
|
||||||
|
|
||||||
@@ -36,16 +36,6 @@ void PutHandler::handle_put_object(const drogon::HttpRequestPtr& req, std::funct
|
|||||||
return;
|
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
|
// Check content length first
|
||||||
auto contentLengthHeader = req->getHeader("content-length");
|
auto contentLengthHeader = req->getHeader("content-length");
|
||||||
if (!contentLengthHeader.empty()) {
|
if (!contentLengthHeader.empty()) {
|
||||||
|
@@ -11,7 +11,7 @@ namespace simple_object_storage {
|
|||||||
class PutHandler {
|
class PutHandler {
|
||||||
public:
|
public:
|
||||||
PutHandler(Server& server);
|
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:
|
private:
|
||||||
Server& server_;
|
Server& server_;
|
||||||
|
Reference in New Issue
Block a user