Am inceput tema lucrand alaboratorul 9 si folosindu-ma de informatiile de aici: https://docs.google.com/document/d/1FC_gjDLzimrcOAG3HcIu0Sn-3Er_k5qOjYEMrWAPwYI/edit?tab=t.0#heading=h.2h9knedvgbhc
Am folosit biblioteca json recomandata.
post_request si get_request au varianta cu jwt_token si fara jwt_token. la varianta cu jwt_token am adaugat asta:
cpp''' if (!jwt_token.empty()) { memset(line, 0, LINELEN); sprintf(line, "Authorization: Bearer %s", jwt_token.c_str()); compute_message(message, line); } '''
Structura generala a unui request:
-
POST / GET / DELETE / PUT HTTP/1.1
-
Host:
-
Content-Type:
-
Cookies
-
daca este cazul: Authorization: Bearer
citesc username si parola, fac un payload json si trimit un post request. verific ce s-a primit de la server si printez rezultatul in functie de codul primit.
extrag cookie-ul si il inlocuiesc cu cel vechi
Se fac aceleasi lucruri + verific daca acel user deja este conectat. daca inca nu s-a conectat il adaug in sesiunea de useri
Iau ultimul user logat. Trimit un get_request.
Trebuie sa fii admin. Trimit un post request. Codul pentru success este 201.
dupa ce primesc raspunsul pozitiv, printez mesajul de succes si apoi incep sa printez utilizatorii.
Ma folosesc de un contor pentru a pune dupa <#>.
Trec print toate json-urile si printez valorile respective.
La final sterg cookie-ul de admin.
citesc username-ul si creez calea pe care o folosesc in delete_request. daca s-a returnat 200 este totul bine. sterg userul din vector sau printez eroarea
daca se intoarce codul 200 pun in jwt_token tokenul de acces. altfel afisez mesaj de eroare
look here for error
daca se primeste codul 200, trec cu un for print toate filmele folosind j["movies"] si printez id-ul si titlul
creez payloadul si trimit post_request(este nevoie de token!) codul de succes este 201
verific daca am token de acces si citesc id-ul filmului transform in int stringul citit formez calea pe care o sa o folosesc Am tratat pe cazuri tipul variabilelor pentru ca aveam o problema.
Trebuie sa am jwt_token!
citesc toate datele necesare si fac payloadul json ca in cerinta.
Fac put_request la adresa corecta.
Cer id-ul si formez calea pentru get_request
Daca se returneaza 200 afisez titlul ownerul si un sir de filme folosind un for prin obiectul json 'c'
Trebuie sa am jwt_token!
Analog cu get_collection doar ca nu afisez si filmele
Trebuie sa am jwt_token!
cer numele colectiei si numarul de filme. apoi pun intr-un vector numele filmelor.
creez colectia folosind un post_request. daca s-a intors 201, apelez de num_movies ori add_movie_to_collection
Creez ruta pentru post_request. daca s-a primit de la server 201, returnez true; altfel afisez mesajul de eroare si returnez false;
Analog.