Skip to content

AlexOcanoaia/http_client

Repository files navigation

HTTP Client

Tema este impartita in mai multe fisiere:

  • fisiere luate din laborator (buffer.c, buffer.h, helpers.c, helpers.h)

  • fisiere pentru parsarea JSON (parson.c, parson.h)

  • fisiere create de mine (request.c, request.h, commands.c, commands.h, client.c, Makefile)

In fisierul request.c sunt implementate fiecare tip de request HTTP (GET, POST, DELETE, PUT). Aloc memorie pentru un string (char *) si acolo copiez tot ce trebuie pentru fiecare tip de request (host, cookies, token de autentificare, date, url).

In fisierul commands.c sunt implementate comenzile pe care server-ul le accepta. Pentru fiecare comanda astept sa primesc de la tastatura input-ul (daca este nevoie) si creez pachetul HTTP corespunzator pentru fiecare comanda. Trimit pachetul catre server si astept raspunsul. Dupa ce am primit raspunsul, verific daca acesta a venit cu eroare (are campul error in date) sau nu. La finalul fiecarui comenzii, parsez datele JSON (daca este cazul).

La comenzile login si login_admin salvez cookie-ul de sesiune pe care il primesc de la server.

In fisierul client.c exista functia main unde deschid un socket pentru a putea trimite pachete catre server. Dupa aceea, verific intr-un while(1) comenzile care vin de la tastatura si trimit catre server pachetul corespunzator.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors