Loading client/client.cpp +6 −0 Changes for client/client.cpp: 6 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -257,6 +257,12 @@ bool Client::ClientAuth() { int fcount = json_object_array_length(jrequest); for (int i = 0; i < fcount; ++i) { json_object_object_foreach(json_object_array_get_idx(jrequest, i), key, val) { if (strcmp(key, "error") == 0) { std::string msg = json_object_get_string(val); json_object_put(jrequest); json_tokener_free(jtok); throw authdb::AuthBackendError(msg); } if (strcmp(key, "connectionid") == 0) { _Con._ClientId = json_object_get_string(val); json_object_put(jrequest); Loading src/authdb.cpp +10 −3 Changes for src/authdb.cpp: 10 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -314,15 +314,22 @@ namespace authdb { }catch(std::exception &e){ g_Log.error(clientAddr,e.what()); g_Log.access(clientAddr,method,curreq.getRequestURL(),500); json_object *jerr = json_object_new_array(); json_object *eobj = json_object_new_object(); json_object_object_add(eobj,"error",json_object_new_string(e.what())); json_object_array_add(jerr,eobj); const char *errstr = json_object_to_json_string(jerr); libhttppp::HttpResponse rep; rep.setState(HTTP500); rep.setContentType("text/html"); rep.send(curreq,e.what(),strlen(e.what())); rep.setContentType("application/json"); rep.send(curreq,errstr,strlen(errstr)); json_object_put(jerr); }catch(...){ g_Log.access(clientAddr,method,curreq.getRequestURL(),500); libhttppp::HttpResponse rep; rep.setState(HTTP500); rep.setContentType("text/html"); rep.setContentType("application/json"); rep.send(curreq,"[{\"error\":\"internal error\"}]",28); rep.send(curreq,"internal error",14); } }else{ Loading Loading
client/client.cpp +6 −0 Changes for client/client.cpp: 6 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -257,6 +257,12 @@ bool Client::ClientAuth() { int fcount = json_object_array_length(jrequest); for (int i = 0; i < fcount; ++i) { json_object_object_foreach(json_object_array_get_idx(jrequest, i), key, val) { if (strcmp(key, "error") == 0) { std::string msg = json_object_get_string(val); json_object_put(jrequest); json_tokener_free(jtok); throw authdb::AuthBackendError(msg); } if (strcmp(key, "connectionid") == 0) { _Con._ClientId = json_object_get_string(val); json_object_put(jrequest); Loading
src/authdb.cpp +10 −3 Changes for src/authdb.cpp: 10 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -314,15 +314,22 @@ namespace authdb { }catch(std::exception &e){ g_Log.error(clientAddr,e.what()); g_Log.access(clientAddr,method,curreq.getRequestURL(),500); json_object *jerr = json_object_new_array(); json_object *eobj = json_object_new_object(); json_object_object_add(eobj,"error",json_object_new_string(e.what())); json_object_array_add(jerr,eobj); const char *errstr = json_object_to_json_string(jerr); libhttppp::HttpResponse rep; rep.setState(HTTP500); rep.setContentType("text/html"); rep.send(curreq,e.what(),strlen(e.what())); rep.setContentType("application/json"); rep.send(curreq,errstr,strlen(errstr)); json_object_put(jerr); }catch(...){ g_Log.access(clientAddr,method,curreq.getRequestURL(),500); libhttppp::HttpResponse rep; rep.setState(HTTP500); rep.setContentType("text/html"); rep.setContentType("application/json"); rep.send(curreq,"[{\"error\":\"internal error\"}]",28); rep.send(curreq,"internal error",14); } }else{ Loading