From 1bec937076d8d40f94ff4603479f21bca2de6c61 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Sun, 4 Aug 2019 11:03:38 +0200 Subject: Added http lib and basic restapi with rocket_close_im binary --- close_im/main.c | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 close_im/main.c (limited to 'close_im/main.c') diff --git a/close_im/main.c b/close_im/main.c new file mode 100644 index 0000000..b770f3d --- /dev/null +++ b/close_im/main.c @@ -0,0 +1,69 @@ +#include "common/util.h" +#include +#include +#include +#include + +#include "common/config.h" +#include "restapi/auth.h" +#include "restapi/im.h" + +int main(void) +{ + if (config_load(CONFIG_PATH) != 0) { + return 1; + } + + char* login = NULL; + size_t len = 0; + printf("Login: "); + ssize_t read = getline(&login, &len, stdin); + if (read > 1) login[read-1] = 0; + + struct termios oflags, nflags; + tcgetattr(fileno(stdin), &oflags); + nflags = oflags; + nflags.c_lflag &= ~ECHO; + nflags.c_lflag |= ECHONL; + + if (tcsetattr(fileno(stdin), TCSADRAIN, &nflags) != 0) { + perror("tcsetattr"); + return -1; + } + + char* password = NULL; + printf("Password: "); + read = getline(&password, &len, stdin); + if (read > 1) password[read-1] = 0; + + if (tcsetattr(fileno(stdin), TCSANOW, &oflags) != 0) { + perror("tcsetattr"); + return -1; + } + + if (restapi_login(login, password) == 0) { + while(1) { + char* buff = NULL; + size_t len2; + printf("IM to close: "); + ssize_t entry = getline(&buff, &len2, stdin); + if (entry > 1) { + buff[entry-1] = 0; + } else { + free(buff); + break; + } + restapi_im_close(buff); + free(buff); + } + } else { + printf("Couldn't init rest api.\n"); + } + + restapi_logout(); + config_clean(); + free(login); + free(password); + + return 0; +} -- cgit v1.2.3