#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <curl/curl.h>
#include <json-c/json.h>
#include <json-c/json_util.h>
#include "http_curl.h"


char * url_encode(char *s){
    return curl_easy_escape(NULL, s, 0);
}

char * web_search_news(char * q){
    char * news = malloc(4096);
    news[0] = 0;
    char * q_encoded = url_encode(q);
    sprintf(news, "https://search.molodetz.nl/search?q=%s&format=json&categories=news",q_encoded);
    free(q_encoded);
    char * ret = curl_get(news);
    free(news);
    json_object * json_ret = json_tokener_parse(ret);

    json_object * json_results = json_object_object_get(json_ret, "results");
    json_object * json_result = json_object_array_get_idx(json_results, 0);
    if(!json_result){
        json_object_put(json_ret);
        free(ret);
        return web_search_news(q);        
    }
    json_object_put(json_ret);
    return ret;
}
char * web_search_engine(char * q){
    char * searx = malloc(4096);
    searx[0] = 0;
    sprintf(searx, "https://searx.molodetz.nl/search?q=%s&format=json", q);
    char * ret = curl_get(searx);
    free(searx);
    return ret;
}