diff options
Diffstat (limited to 'registration.c')
| -rw-r--r-- | registration.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/registration.c b/registration.c new file mode 100644 index 0000000..695cf53 --- /dev/null +++ b/registration.c @@ -0,0 +1,34 @@ +#ifdef __EMSCRIPTEN__ +#include <string.h> +#include <emscripten/fetch.h> +#else +#include <curl/curl.h> +#endif + +void sign_up(const char *brand, const char *certificate) +{ +#ifdef __EMSCRIPTEN__ + emscripten_fetch_attr_t attr; + emscripten_fetch_attr_init(&attr); + attr.attributes = EMSCRIPTEN_FETCH_LOAD_TO_MEMORY; + strcpy(attr.requestMethod, "POST"); + attr.requestData = brand; + attr.requestDataSize = strlen(brand); + emscripten_fetch(&attr, "register"); + (void)certificate; +#else + curl_global_init(CURL_GLOBAL_SSL); + CURL *curl = curl_easy_init(); + curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); + if (certificate) + curl_easy_setopt(curl, CURLOPT_CAINFO, certificate); +#ifdef DEBUG + curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); +#endif + curl_easy_setopt(curl, CURLOPT_POSTFIELDS, brand); + curl_easy_setopt(curl, CURLOPT_URL, SAMPLEURL"/register"); + curl_easy_perform(curl); + curl_easy_cleanup(curl); + curl_global_cleanup(); +#endif +} |