diff --git a/json_handler/JHandler.cpp b/json_handler/JHandler.cpp index 1f62624..00b864e 100644 --- a/json_handler/JHandler.cpp +++ b/json_handler/JHandler.cpp @@ -1,6 +1,7 @@ #include "JHandler.h" -JHandler::JHandler(std::string &cfg){ +JHandler::JHandler(std::string &cfg) { + status = false; pjson::document doc; try { if (doc.deserialize_in_place(const_cast(cfg.c_str()))) { diff --git a/main.cpp b/main.cpp index 2fe15e1..0dec209 100644 --- a/main.cpp +++ b/main.cpp @@ -11,7 +11,6 @@ int main(int argc, char** argv) { std::string id = static_cast(argv[2]); SendReceiver ctrl; ctrl.getInfoReq(id); - } else if (argc == 2) { strcpy(filename, argv[1]); @@ -29,8 +28,6 @@ int main(int argc, char** argv) { << "File path must be without spaces.\n"; return -1; } - - std::cout << "Press ENTER to exit.\n"; std::cin.get(); return 0; diff --git a/sendReceiver/sendReceiver.cpp b/sendReceiver/sendReceiver.cpp index 6dfe0fd..ebad3a1 100644 --- a/sendReceiver/sendReceiver.cpp +++ b/sendReceiver/sendReceiver.cpp @@ -102,14 +102,43 @@ bool SendReceiver::uploadFile(char*& pathToFile) { return status; } -bool SendReceiver::getInfoReq(std::string& id) { +std::string SendReceiver::sendInfoRequest(std::string& id) { + std::string data; std::string link = "https://anonfile.com/api/v2/file/" + static_cast(id) + "/info"; + CURL* curl = curl_easy_init(); + CURLcode res; + if (curl) { + curl_easy_setopt(curl, CURLOPT_URL, link.c_str()); + curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &writeCallback); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &data); + + res = curl_easy_perform(curl); + if (res != CURLE_OK) + std::cout << "Error, check your internet connection!\n"; + } + curl_easy_cleanup(curl); + return data; +} + +bool SendReceiver::getInfoReq(std::string& id) { + try { + (id.empty() || id.size() == 0) ? throw std::string("Error, NULLPTR exception!") : 0; + std::string request_data = sendInfoRequest(id); +#ifdef DEBUG + std::cout << "[DEBUG|getInfoReq] : request_data is: " << request_data << std::endl; +#endif + SendReceiver handler(request_data); + handler.printRequestData(); + } catch (const std::string str) { + std::cout << str << std::endl; + } + return true; } void SendReceiver::printRequestData() { if (status) { - std::cout << "File was uploaded successfully!\n" - << "Full url to file: " << url_ptr->str_full + std::cout << "Full url to file: " << url_ptr->str_full << "\nShort url to file: " << url_ptr->str_short << "\nFile id: " << MD_ptr->id << "\nFilename: " << MD_ptr->name diff --git a/sendReceiver/sendReceiver.h b/sendReceiver/sendReceiver.h index 59175ef..282a197 100644 --- a/sendReceiver/sendReceiver.h +++ b/sendReceiver/sendReceiver.h @@ -2,7 +2,7 @@ #define ANONFILE_SENDER_H #define LINUX -#define DEBUG +//#define DEBUG #include "../helpers/helpers.h" #include "../json_handler/JHandler.h" @@ -10,6 +10,7 @@ class SendReceiver : protected Helpers, protected JHandler { private: static size_t writeCallback(char* buf, size_t size, size_t nmemb, void* up); + std::string sendInfoRequest(std::string& id); void printRequestData(); public: explicit SendReceiver(std::string cfg) : JHandler(cfg) { }