]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/lib/urllib.qc
take3: format 903 files
[xonotic/xonotic-data.pk3dir.git] / qcsrc / lib / urllib.qc
index 1572fec07cb2d1962870f63d7a3e3021db220841..4cf1da235d75dd5616c09741b1bb30e315e6c49b 100644 (file)
@@ -27,14 +27,13 @@ int autocvar__urllib_nextslot;
 ERASEABLE
 float url_URI_Get_Callback(int id, float status, string data)
 {
-       if (id < MIN_URL_ID) return 0;
+       if (id < MIN_URL_ID) { return 0; }
        id -= MIN_URL_ID;
-       if (id >= NUM_URL_ID) return 0;
+       if (id >= NUM_URL_ID) { return 0; }
        entity e;
        e = url_fromid[id];
-       if (!e) return 0;
-       if (e.url_rbuf >= 0 || e.url_wbuf >= 0)
-       {
+       if (!e) { return 0; }
+       if (e.url_rbuf >= 0 || e.url_wbuf >= 0) {
                LOG_INFOF("WARNING: handle %d (%s) has already received data?!?", id + NUM_URL_ID, e.url_url);
                return 0;
        }
@@ -43,16 +42,14 @@ float url_URI_Get_Callback(int id, float status, string data)
        url_fromid[id] = NULL;
 
        // if we get here, we MUST have both buffers cleared
-       if (e.url_rbuf != -1 || e.url_wbuf != -1 || e.url_fh != URL_FH_CURL) error("url_URI_Get_Callback: not a request waiting for data");
+       if (e.url_rbuf != -1 || e.url_wbuf != -1 || e.url_fh != URL_FH_CURL) { error("url_URI_Get_Callback: not a request waiting for data"); }
 
-       if (status == 0)
-       {
+       if (status == 0) {
                // WE GOT DATA!
                float n, i;
                n = tokenizebyseparator(data, "\n");
                e.url_rbuf = buf_create();
-               if (e.url_rbuf < 0)
-               {
+               if (e.url_rbuf < 0) {
                        LOG_INFO("url_URI_Get_Callback: out of memory in buf_create");
                        e.url_ready(e, e.url_ready_pass, URL_READY_ERROR);
                        strunzone(e.url_url);
@@ -60,21 +57,19 @@ float url_URI_Get_Callback(int id, float status, string data)
                        return 1;
                }
                e.url_rbufpos = 0;
-               if (e.url_rbuf < 0)
-               {
+               if (e.url_rbuf < 0) {
                        LOG_INFO("url_URI_Get_Callback: out of memory in buf_create");
                        e.url_ready(e, e.url_ready_pass, URL_READY_ERROR);
                        strunzone(e.url_url);
                        delete(e);
                        return 1;
                }
-               for (i = 0; i < n; ++i)
+               for (i = 0; i < n; ++i) {
                        bufstr_set(e.url_rbuf, i, argv(i));
+               }
                e.url_ready(e, e.url_ready_pass, URL_READY_CANREAD);
                return 1;
-       }
-       else
-       {
+       } else {
                // an ERROR
                e.url_ready(e, e.url_ready_pass, -fabs(status));
                strunzone(e.url_url);
@@ -88,10 +83,8 @@ void url_single_fopen(string url, int mode, url_ready_func rdy, entity pass)
 {
        entity e;
        int i;
-       if (strstrofs(url, "://", 0) >= 0)
-       {
-               switch (mode)
-               {
+       if (strstrofs(url, "://", 0) >= 0) {
+               switch (mode) {
                        case FILE_WRITE:
                        case FILE_APPEND:
                                // collect data to a stringbuffer for a POST request
@@ -104,8 +97,7 @@ void url_single_fopen(string url, int mode, url_ready_func rdy, entity pass)
                                e.url_verb = "";
                                e.url_fh = URL_FH_CURL;
                                e.url_wbuf = buf_create();
-                               if (e.url_wbuf < 0)
-                               {
+                               if (e.url_wbuf < 0) {
                                        LOG_INFO("url_single_fopen: out of memory in buf_create");
                                        rdy(e, pass, URL_READY_ERROR);
                                        strunzone(e.url_url);
@@ -123,14 +115,12 @@ void url_single_fopen(string url, int mode, url_ready_func rdy, entity pass)
                                // read data only
 
                                // get slot for HTTP request
-                               for (i = autocvar__urllib_nextslot; i < NUM_URL_ID; ++i)
-                                       if (url_fromid[i] == NULL) break;
-                               if (i >= NUM_URL_ID)
-                               {
-                                       for (i = 0; i < autocvar__urllib_nextslot; ++i)
-                                               if (url_fromid[i] == NULL) break;
-                                       if (i >= autocvar__urllib_nextslot)
-                                       {
+                               for (i = autocvar__urllib_nextslot; i < NUM_URL_ID; ++i) {
+                                       if (url_fromid[i] == NULL) { break; } }
+                               if (i >= NUM_URL_ID) {
+                                       for (i = 0; i < autocvar__urllib_nextslot; ++i) {
+                                               if (url_fromid[i] == NULL) { break; } }
+                                       if (i >= autocvar__urllib_nextslot) {
                                                LOG_INFO("url_single_fopen: too many concurrent requests");
                                                rdy(NULL, pass, URL_READY_ERROR);
                                                return;
@@ -138,8 +128,7 @@ void url_single_fopen(string url, int mode, url_ready_func rdy, entity pass)
                                }
 
                                // GET the data
-                               if (!crypto_uri_postbuf(url, i + MIN_URL_ID, string_null, string_null, -1, 0))
-                               {
+                               if (!crypto_uri_postbuf(url, i + MIN_URL_ID, string_null, string_null, -1, 0)) {
                                        LOG_INFO("url_single_fopen: failure in crypto_uri_postbuf");
                                        rdy(NULL, pass, URL_READY_ERROR);
                                        return;
@@ -162,11 +151,8 @@ void url_single_fopen(string url, int mode, url_ready_func rdy, entity pass)
                                cvar_set("_urllib_nextslot", ftos((i + 1) % NUM_URL_ID));
                                break;
                }
-       }
-       else if (url == "-")
-       {
-               switch (mode)
-               {
+       } else if (url == "-") {
+               switch (mode) {
                        case FILE_WRITE:
                        case FILE_APPEND:
                                e = new_pure(url_single_fopen_stdout);
@@ -180,24 +166,18 @@ void url_single_fopen(string url, int mode, url_ready_func rdy, entity pass)
                                rdy(NULL, pass, URL_READY_ERROR);
                                break;
                }
-       }
-       else
-       {
+       } else {
                float fh;
                fh = fopen(url, mode);
-               if (fh < 0)
-               {
+               if (fh < 0) {
                        rdy(NULL, pass, URL_READY_ERROR);
                        return;
-               }
-               else
-               {
+               } else {
                        e = new_pure(url_single_fopen_file);
                        e.url_fh = fh;
                        e.url_ready = rdy;
                        e.url_ready_pass = pass;
-                       if (mode == FILE_READ) rdy(e, pass, URL_READY_CANREAD);
-                       else rdy(e, pass, URL_READY_CANWRITE);
+                       if (mode == FILE_READ) { rdy(e, pass, URL_READY_CANREAD); } else { rdy(e, pass, URL_READY_CANWRITE); }
                }
        }
 }
@@ -208,26 +188,24 @@ void url_fclose(entity e)
 {
        int i;
 
-       if (e.url_fh == URL_FH_CURL)
-       {
-               if (e.url_rbuf == -1 || e.url_wbuf != -1)     // not(post GET/POST request)
-                       if (e.url_rbuf != -1 || e.url_wbuf == -1) // not(pre POST request)
+       if (e.url_fh == URL_FH_CURL) {
+               if (e.url_rbuf == -1 || e.url_wbuf != -1) { // not(post GET/POST request)
+                       if (e.url_rbuf != -1 || e.url_wbuf == -1) { // not(pre POST request)
                                error("url_fclose: not closable in current state");
+                       }
+               }
 
                // closing an URL!
-               if (e.url_wbuf >= 0)
-               {
+               if (e.url_wbuf >= 0) {
                        // we are closing the write end (HTTP POST request)
 
                        // get slot for HTTP request
-                       for (i = autocvar__urllib_nextslot; i < NUM_URL_ID; ++i)
-                               if (url_fromid[i] == NULL) break;
-                       if (i >= NUM_URL_ID)
-                       {
-                               for (i = 0; i < autocvar__urllib_nextslot; ++i)
-                                       if (url_fromid[i] == NULL) break;
-                               if (i >= autocvar__urllib_nextslot)
-                               {
+                       for (i = autocvar__urllib_nextslot; i < NUM_URL_ID; ++i) {
+                               if (url_fromid[i] == NULL) { break; } }
+                       if (i >= NUM_URL_ID) {
+                               for (i = 0; i < autocvar__urllib_nextslot; ++i) {
+                                       if (url_fromid[i] == NULL) { break; } }
+                               if (i >= autocvar__urllib_nextslot) {
                                        LOG_INFO("url_fclose: too many concurrent requests");
                                        e.url_ready(e, e.url_ready_pass, URL_READY_ERROR);
                                        buf_del(e.url_wbuf);
@@ -238,8 +216,7 @@ void url_fclose(entity e)
                        }
 
                        // POST the data
-                       if (!crypto_uri_postbuf(e.url_url, i + MIN_URL_ID, e.url_content_type, e.url_verb, e.url_wbuf, 0))
-                       {
+                       if (!crypto_uri_postbuf(e.url_url, i + MIN_URL_ID, e.url_content_type, e.url_verb, e.url_wbuf, 0)) {
                                LOG_INFO("url_fclose: failure in crypto_uri_postbuf");
                                e.url_ready(e, e.url_ready_pass, URL_READY_ERROR);
                                buf_del(e.url_wbuf);
@@ -258,26 +235,20 @@ void url_fclose(entity e)
 
                        // make sure this slot won't be reused quickly even on map change
                        cvar_set("_urllib_nextslot", ftos((i + 1) % NUM_URL_ID));
-               }
-               else
-               {
+               } else {
                        // we have READ all data, just close
                        e.url_ready(e, e.url_ready_pass, URL_READY_CLOSED);
                        buf_del(e.url_rbuf);
                        strunzone(e.url_url);
                        delete(e);
                }
-       }
-       else if (e.url_fh == URL_FH_STDOUT)
-       {
-               e.url_ready(e, e.url_ready_pass, URL_READY_CLOSED);  // closing creates no reading handle
+       } else if (e.url_fh == URL_FH_STDOUT) {
+               e.url_ready(e, e.url_ready_pass, URL_READY_CLOSED); // closing creates no reading handle
                delete(e);
-       }
-       else
-       {
+       } else {
                // file
                fclose(e.url_fh);
-               e.url_ready(e, e.url_ready_pass, URL_READY_CLOSED);  // closing creates no reading handle
+               e.url_ready(e, e.url_ready_pass, URL_READY_CLOSED); // closing creates no reading handle
                delete(e);
        }
 }
@@ -286,22 +257,17 @@ void url_fclose(entity e)
 ERASEABLE
 string url_fgets(entity e)
 {
-       if (e.url_fh == URL_FH_CURL)
-       {
-               if (e.url_rbuf == -1) error("url_fgets: not readable in current state");
+       if (e.url_fh == URL_FH_CURL) {
+               if (e.url_rbuf == -1) { error("url_fgets: not readable in current state"); }
                // curl
                string s;
                s = bufstr_get(e.url_rbuf, e.url_rbufpos);
                e.url_rbufpos += 1;
                return s;
-       }
-       else if (e.url_fh == URL_FH_STDOUT)
-       {
+       } else if (e.url_fh == URL_FH_STDOUT) {
                // stdout
                return string_null;
-       }
-       else
-       {
+       } else {
                // file
                return fgets(e.url_fh);
        }
@@ -311,20 +277,15 @@ string url_fgets(entity e)
 ERASEABLE
 void url_fputs(entity e, string s)
 {
-       if (e.url_fh == URL_FH_CURL)
-       {
-               if (e.url_wbuf == -1) error("url_fputs: not writable in current state");
+       if (e.url_fh == URL_FH_CURL) {
+               if (e.url_wbuf == -1) { error("url_fputs: not writable in current state"); }
                // curl
                bufstr_set(e.url_wbuf, e.url_wbufpos, s);
                e.url_wbufpos += 1;
-       }
-       else if (e.url_fh == URL_FH_STDOUT)
-       {
+       } else if (e.url_fh == URL_FH_STDOUT) {
                // stdout
                print(s);
-       }
-       else
-       {
+       } else {
                // file
                fputs(e.url_fh, s);
        }
@@ -335,10 +296,8 @@ ERASEABLE
 void url_multi_ready(entity fh, entity me, float status)
 {
        float n;
-       if (status == URL_READY_ERROR || status < 0)
-       {
-               if (status == -422)  // Unprocessable Entity
-               {
+       if (status == URL_READY_ERROR || status < 0) {
+               if (status == -422) { // Unprocessable Entity
                        LOG_INFO("uri_multi_ready: got HTTP error 422, data is in unusable format - not continuing");
                        me.url_ready(fh, me.url_ready_pass, status);
                        strunzone(me.url_url);
@@ -347,8 +306,7 @@ void url_multi_ready(entity fh, entity me, float status)
                }
                me.url_attempt += 1;
                n = tokenize_console(me.url_url);
-               if (n <= me.url_attempt)
-               {
+               if (n <= me.url_attempt) {
                        me.url_ready(fh, me.url_ready_pass, status);
                        strunzone(me.url_url);
                        delete(me);
@@ -365,8 +323,7 @@ void url_multi_fopen(string url, int mode, url_ready_func rdy, entity pass)
 {
        float n;
        n = tokenize_console(url);
-       if (n <= 0)
-       {
+       if (n <= 0) {
                LOG_INFO("url_multi_fopen: need at least one URL");
                rdy(NULL, pass, URL_READY_ERROR);
                return;