From 8ca8d8d4293f34e5c02724ecfb5d90346858df65 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Wed, 31 Jan 2024 19:33:41 +0100 Subject: [PATCH] add implement get metadata --- src/kds_s2000w_client.c | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src/kds_s2000w_client.c b/src/kds_s2000w_client.c index e4810ea..ae382e1 100644 --- a/src/kds_s2000w_client.c +++ b/src/kds_s2000w_client.c @@ -190,7 +190,36 @@ int kds_s2000w_client_stop_scan(int64_t sessionid, response* response) int kds_s2000w_client_get_metadata(int64_t sessionid, int img_number, response* response) { - return 0; + CURL *curl = curl_easy_init(); + if(!curl) + return CURLE_FAILED_INIT; + + CURLU* url_handler = curl_url(); + char img_number_str[10]; + sprintf(img_number_str, "%i", img_number); + curl_url_set(url_handler, CURLUPART_URL, "http://scanner.lan.hhaalo.de/api/session/metadata", 0); + curl_url_set(url_handler, CURLUPART_PATH, img_number_str, 0); + char* url = NULL; + curl_url_get(url_handler, CURLUPART_URL, &url, 0); + + struct curl_slist* headers = NULL; + char header_str[80]; + sprintf(header_str, "SessionId: %li", sessionid); + headers = curl_slist_append(headers, header_str); + curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); + curl_easy_setopt(curl, CURLOPT_URL, url); + curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, _kds_s2000w_client_callback); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*) response); + CURLcode result = curl_easy_perform(curl); + curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response->code); + + curl_url_cleanup(url_handler); + url_handler = NULL; + curl_free(url); + url = NULL; + + return result; } int kds_s2000w_client_get_image(int64_t sessionid, int img_number, response* response) -- 2.39.5