mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
change json to pointer
This commit is contained in:
parent
d922b31257
commit
5e17083fa6
@ -3,11 +3,11 @@
|
||||
|
||||
#include "../SingletonManager/SessionManager.h"
|
||||
|
||||
Poco::JSON::Object JsonGetLogin::handle(Poco::Dynamic::Var params)
|
||||
Poco::JSON::Object* JsonGetLogin::handle(Poco::Dynamic::Var params)
|
||||
{
|
||||
|
||||
int session_id = 0;
|
||||
Poco::JSON::Object result;
|
||||
Poco::JSON::Object* result = new Poco::JSON::Object;
|
||||
if (params.isStruct()) {
|
||||
session_id = params["session_id"];
|
||||
//std::string miau = params["miau"];
|
||||
@ -24,28 +24,28 @@ Poco::JSON::Object JsonGetLogin::handle(Poco::Dynamic::Var params)
|
||||
//auto var = params[0];
|
||||
}
|
||||
catch (const std::invalid_argument& ia) {
|
||||
result.set("state", "error");
|
||||
result.set("msg", "error parsing query params, invalid argument: ");
|
||||
result.set("details", ia.what());
|
||||
result->set("state", "error");
|
||||
result->set("msg", "error parsing query params, invalid argument: ");
|
||||
result->set("details", ia.what());
|
||||
return result;
|
||||
}
|
||||
catch (const std::out_of_range& oor) {
|
||||
result.set("state", "error");
|
||||
result.set("msg", "error parsing query params, Out of Range error: ");
|
||||
result.set("details", oor.what());
|
||||
result->set("state", "error");
|
||||
result->set("msg", "error parsing query params, Out of Range error: ");
|
||||
result->set("details", oor.what());
|
||||
return result;
|
||||
}
|
||||
catch (const std::logic_error & ler) {
|
||||
result.set("state", "error");
|
||||
result.set("msg", "error parsing query params, Logical error: ");
|
||||
result.set("details", ler.what());
|
||||
result->set("state", "error");
|
||||
result->set("msg", "error parsing query params, Logical error: ");
|
||||
result->set("details", ler.what());
|
||||
return result;
|
||||
}
|
||||
catch (Poco::Exception& ex) {
|
||||
//printf("[JsonGetLogin::handle] exception: %s\n", ex.displayText().data());
|
||||
result.set("state", "error");
|
||||
result.set("msg", "error parsing query params, Poco Error");
|
||||
result.set("details", ex.displayText());
|
||||
result->set("state", "error");
|
||||
result->set("msg", "error parsing query params, Poco Error");
|
||||
result->set("details", ex.displayText());
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@ -56,25 +56,25 @@ Poco::JSON::Object JsonGetLogin::handle(Poco::Dynamic::Var params)
|
||||
if (session) {
|
||||
auto user = session->getUser();
|
||||
if (!user) {
|
||||
result.set("state", "not found");
|
||||
result.set("msg", "Session didn't contain user");
|
||||
result->set("state", "not found");
|
||||
result->set("msg", "Session didn't contain user");
|
||||
return result;
|
||||
}
|
||||
result.set("state", "success");
|
||||
result.set("clientIP", session->getClientIp());
|
||||
result.set("user", user->getJson());
|
||||
result->set("state", "success");
|
||||
result->set("clientIP", session->getClientIp());
|
||||
result->set("user", user->getJson());
|
||||
return result;
|
||||
}
|
||||
else {
|
||||
result.set("state", "not found");
|
||||
result.set("msg", "Session not found");
|
||||
result->set("state", "not found");
|
||||
result->set("msg", "Session not found");
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
result.set("state", "error");
|
||||
result.set("msg", "empty session id");
|
||||
result->set("state", "error");
|
||||
result->set("msg", "empty session id");
|
||||
}
|
||||
|
||||
return result;
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
class JsonGetLogin : public JsonRequestHandler
|
||||
{
|
||||
public:
|
||||
Poco::JSON::Object handle(Poco::Dynamic::Var params);
|
||||
Poco::JSON::Object* handle(Poco::Dynamic::Var params);
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@ void JsonRequestHandler::handleRequest(Poco::Net::HTTPServerRequest& request, Po
|
||||
|
||||
auto method = request.getMethod();
|
||||
std::istream& request_stream = request.stream();
|
||||
Poco::JSON::Object json_result;
|
||||
Poco::JSON::Object* json_result = nullptr;
|
||||
if (method == "POST") {
|
||||
// extract parameter from request
|
||||
Poco::JSON::Parser jsonParser;
|
||||
@ -42,7 +42,10 @@ void JsonRequestHandler::handleRequest(Poco::Net::HTTPServerRequest& request, Po
|
||||
auto queryParameters = uri.getQueryParameters();
|
||||
json_result = handle(queryParameters);
|
||||
}
|
||||
json_result.stringify(responseStream);
|
||||
if (json_result) {
|
||||
json_result->stringify(responseStream);
|
||||
delete json_result;
|
||||
}
|
||||
|
||||
if (_compressResponse) _gzipStream.close();
|
||||
}
|
||||
|
||||
@ -9,7 +9,7 @@ class JsonRequestHandler : public Poco::Net::HTTPRequestHandler
|
||||
public:
|
||||
void handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response);
|
||||
|
||||
virtual Poco::JSON::Object handle(Poco::Dynamic::Var params) = 0;
|
||||
virtual Poco::JSON::Object* handle(Poco::Dynamic::Var params) = 0;
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
#include "JsonUnknown.h"
|
||||
|
||||
Poco::JSON::Object JsonUnknown::handle(Poco::Dynamic::Var params)
|
||||
Poco::JSON::Object* JsonUnknown::handle(Poco::Dynamic::Var params)
|
||||
{
|
||||
Poco::JSON::Object result;
|
||||
Poco::JSON::Object* result = new Poco::JSON::Object;
|
||||
|
||||
result.set("state", "error");
|
||||
result.set("msg", "unknown call");
|
||||
result->set("state", "error");
|
||||
result->set("msg", "unknown call");
|
||||
|
||||
return result;
|
||||
}
|
||||
@ -6,7 +6,7 @@
|
||||
class JsonUnknown : public JsonRequestHandler
|
||||
{
|
||||
public:
|
||||
Poco::JSON::Object handle(Poco::Dynamic::Var params);
|
||||
Poco::JSON::Object* handle(Poco::Dynamic::Var params);
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
@ -365,6 +365,7 @@ Poco::JSON::Object User::getJson()
|
||||
{
|
||||
lock();
|
||||
Poco::JSON::Object userObj;
|
||||
|
||||
userObj.set("first_name", mFirstName);
|
||||
userObj.set("last_name", mLastName);
|
||||
userObj.set("email", mEmail);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user