Commit 954e9011 authored by jan.koester's avatar jan.koester
Browse files

added max tries

parent 6e49454d
Loading
Loading
Loading
Loading
Loading
+1 −1
Changes for bindings/nodejs/package.json: 1 added line, 1 removed line.
Original line number Diff line number Diff line
{
  "name": "authdb-client",
  "version": "0.1.1",
  "version": "0.2.1",
  "description": "Native Node.js client bindings for AuthDB – an authentication database with JSON REST API",
  "main": "index.js",
  "types": "index.d.ts",
+14 −12
Changes for client/client.cpp: 14 added lines, 12 removed lines.
Original line number Diff line number Diff line
@@ -158,6 +158,8 @@ const uuid::uuid& ClientConnection::getSessionID() { return _SessionID; }

void ClientConnection::setSessionID(const ::uuid::uuid& sid) { _SessionID = sid; }

void ClientConnection::setMaxTries(int maxtries) { _MaxTries = maxtries; }

// -------- Client --------

Client::Client(ClientConnection& clt) : _Con(clt) {
@@ -200,7 +202,7 @@ bool Client::ClientAuth() {
    nreq.setHeaderData("accept")->push_back("application/json");
    nreq.setHeaderData("content-type")->push_back("application/json");
    nreq.setRequestURL(_Con._RequestPath.c_str());
    std::vector<char> resp(_Con._Client->Post(nreq, out));
    std::vector<char> resp(_Con._Client->Post(nreq, out, _Con._MaxTries));
    resp.push_back('\0');

    json_object_put(jresponse);
@@ -263,7 +265,7 @@ bool Client::UserAuth() {
    nreq.setHeaderData("accept")->push_back("application/json");
    nreq.setHeaderData("content-type")->push_back("application/json");
    nreq.setRequestURL(_Con._RequestPath.c_str());
    std::vector<char> resp(_Con._Client->Post(nreq, out));
    std::vector<char> resp(_Con._Client->Post(nreq, out, _Con._MaxTries));
    resp.push_back('\0');

    json_object_put(jresponse);
@@ -328,7 +330,7 @@ void Client::SessionInfo(class SessionData& sdat) {
    nreq.setHeaderData("accept")->push_back("application/json");
    nreq.setHeaderData("content-type")->push_back("application/json");
    nreq.setRequestURL(_Con._RequestPath.c_str());
    std::vector<char> resp(_Con._Client->Post(nreq, out));
    std::vector<char> resp(_Con._Client->Post(nreq, out, _Con._MaxTries));
    resp.push_back('\0');

    json_object_put(jresponse);
@@ -396,7 +398,7 @@ bool Client::remSession() {
    nreq.setHeaderData("accept")->push_back("application/json");
    nreq.setHeaderData("content-type")->push_back("application/json");
    nreq.setRequestURL(_Con._RequestPath.c_str());
    std::vector<char> resp(_Con._Client->Post(nreq, out));
    std::vector<char> resp(_Con._Client->Post(nreq, out, _Con._MaxTries));
    resp.push_back('\0');

    json_object_put(jresponse);
@@ -462,7 +464,7 @@ void Client::changeUserPw(const std::string& oldpw, const std::string& newpw) {
    nreq.setHeaderData("accept")->push_back("application/json");
    nreq.setHeaderData("content-type")->push_back("application/json");
    nreq.setRequestURL(_Con._RequestPath.c_str());
    (void)_Con._Client->Post(nreq, out); // Optionally: parse response if you care
    (void)_Con._Client->Post(nreq, out, _Con._MaxTries); // Optionally: parse response if you care

    json_object_put(jresponse);
}
@@ -476,7 +478,7 @@ void Client::getAvatar(const ::uuid::uuid& did, const ::uuid::uuid& uid,

    resq.setHeaderData("accept")->push_back("image/jpeg");
    resq.setRequestURL(url.str().c_str());
    std::vector<char> avatar = _Con._Client->Get(resq);
    std::vector<char> avatar = _Con._Client->Get(resq, _Con._MaxTries);

    resp.setState(HTTP200);
    resp.setContentType("image/jpeg");
@@ -510,7 +512,7 @@ bool Client::GPOcheck(class ::uuid::uuid gpoid) {
    nreq.setHeaderData("accept")->push_back("application/json");
    nreq.setHeaderData("content-type")->push_back("application/json");
    nreq.setRequestURL(_Con._RequestPath.c_str());
    std::vector<char> resp(_Con._Client->Post(nreq, out));
    std::vector<char> resp(_Con._Client->Post(nreq, out, _Con._MaxTries));
    resp.push_back('\0');

    json_object_put(jresponse);
@@ -574,7 +576,7 @@ std::string Client::addConnection(const std::string& clientname, const std::stri
    nreq.setHeaderData("accept")->push_back("application/json");
    nreq.setHeaderData("content-type")->push_back("application/json");
    nreq.setRequestURL(_Con._RequestPath.c_str());
    std::vector<char> resp(_Con._Client->Post(nreq, out));
    std::vector<char> resp(_Con._Client->Post(nreq, out, _Con._MaxTries));
    resp.push_back('\0');

    json_object_put(jresponse);
@@ -632,7 +634,7 @@ void Client::remConnection(const uuid::uuid& clientid) {
    nreq.setHeaderData("accept")->push_back("application/json");
    nreq.setHeaderData("content-type")->push_back("application/json");
    nreq.setRequestURL(_Con._RequestPath.c_str());
    (void)_Con._Client->Post(nreq, out);
    (void)_Con._Client->Post(nreq, out, _Con._MaxTries);

    json_object_put(jresponse);
}
@@ -668,7 +670,7 @@ void Client::editConnection(const uuid::uuid& clientid,
    nreq.setHeaderData("accept")->push_back("application/json");
    nreq.setHeaderData("content-type")->push_back("application/json");
    nreq.setRequestURL(_Con._RequestPath.c_str());
    (void)_Con._Client->Post(nreq, out);
    (void)_Con._Client->Post(nreq, out, _Con._MaxTries);

    json_object_put(jresponse);
}
@@ -713,7 +715,7 @@ std::string Client::GPOadd(const uuid::uuid& gpoid, const std::string& name, con
    nreq.setHeaderData("accept")->push_back("application/json");
    nreq.setHeaderData("content-type")->push_back("application/json");
    nreq.setRequestURL(_Con._RequestPath.c_str());
    std::vector<char> resp(_Con._Client->Post(nreq, out));
    std::vector<char> resp(_Con._Client->Post(nreq, out, _Con._MaxTries));
    resp.push_back('\0');

    json_object_put(jresponse);
@@ -782,7 +784,7 @@ bool Client::GPOexits(class uuid::uuid gpoid) { // keeping name for compatibilit
    nreq.setHeaderData("accept")->push_back("application/json");
    nreq.setHeaderData("content-type")->push_back("application/json");
    nreq.setRequestURL(_Con._RequestPath.c_str());
    std::vector<char> resp(_Con._Client->Post(nreq, out));
    std::vector<char> resp(_Con._Client->Post(nreq, out, _Con._MaxTries));
    resp.push_back('\0');

    json_object_put(jresponse);
+2 −0
Changes for client/client.h: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -70,6 +70,7 @@ namespace authdb {
            void setClientSecret(const std::string &secret);
            void setUsername(const std::string &username);
            void setUserPassword(const std::string &password);
            void setMaxTries(int maxtries);

            const uuid::uuid &getClientId();
            const uuid::uuid &getSessionID();
@@ -88,6 +89,7 @@ namespace authdb {
            std::unique_ptr<libhttppp::HttpClient> _Client;
            uuid::uuid             _SessionID;
            uuid::uuid             _ClientId;
            int                    _MaxTries = 3;
            friend inline void ensure_http_client(ClientConnection& con);
            friend std::vector<char> post_with_redirect(ClientConnection& con,
                                                        libhttppp::HttpRequest& req,