#include "giteaAPI.h" #include #include #include #include SESSION teaui_gitea_session(const char *instance){ curl_global_init(0); CURL *handle = curl_easy_init(); SESSION ret = {.handle=handle}; memcpy(ret.instance, instance, strlen(instance)); return ret; } void teaui_gitea_cleanup(SESSION s){ curl_global_cleanup(); curl_easy_cleanup(s.handle); } void teaui_gitea_auth_basic(SESSION s, const char *user, const char *pass){ curl_easy_setopt(s.handle, CURLOPT_USERNAME, user); curl_easy_setopt(s.handle, CURLOPT_PASSWORD, pass); } void teaui_gitea_auth_token(SESSION s, const char *token){ char header[256] = "Authorization: "; strcat(header, token); curl_easy_setopt(s.handle , CURLOPT_HEADERDATA, header); } const char* teaui_gitea_auth_generateToken(SESSION s, const char * username){ char endpoint[1024]; strcpy(endpoint, s.instance); strcat(endpoint, "/api/v1/users/"); strcat(endpoint, username); strcat(endpoint, "/tokens"); curl_easy_setopt(s.handle, CURLOPT_URL, endpoint); curl_easy_perform(s.handle); return ""; }