~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to www/media/common/util.js

Modified the database so that exercises are now stored in the database, rather
than in flat files.

This also necessitated adding new tables and storm classes for test suites
and test cases.

Note that this commit merely changes the database and adds a script to
upload exercises. The code for actually reading exercises has yet
to be changed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
622
622
 * \param app IVLE app to call (such as "fileservice").
623
623
 * \param path URL path to make the request to, within the application.
624
624
 * \param args Argument object, as described in parse_url and friends.
625
 
 * \param method String; "GET" or "POST"
626
 
 * \param content_type String, optional. Only applies if method is "POST".
627
 
 *      May be "application/x-www-form-urlencoded" or "multipart/form-data".
 
625
 * \param method String; "GET", "POST", "PUT", or "PATCH"
 
626
 * \param content_type String, optional.
628
627
 *      Defaults to "application/x-www-form-urlencoded".
629
628
 */
630
629
function ajax_call(callback, app, path, args, method, content_type)
631
630
{
632
 
    if (content_type != "multipart/form-data")
 
631
    if (!content_type)
633
632
        content_type = "application/x-www-form-urlencoded";
634
633
    path = app_path(app, path);
635
634
    var url;
659
658
    }
660
659
    else
661
660
    {
662
 
        /* POST sends the args in application/x-www-form-urlencoded */
 
661
        /* POST & PUT & PATCH sends the args in the request body */
663
662
        url = encodeURI(path);
664
663
        xhr.open(method, url, asyncronous);
665
664
        var message;
669
668
                "multipart/form-data; boundary=" + boundary);
670
669
            message = make_multipart_formdata(args, boundary);
671
670
        }
672
 
        else
 
671
        else if (content_type == "application/x-www-form-urlencoded")
673
672
        {
674
673
            xhr.setRequestHeader("Content-Type", content_type);
675
674
            message = make_query_string(args);
676
675
        }
 
676
        else if (content_type == "application/json")
 
677
        {
 
678
            xhr.setRequestHeader("Content-Type", content_type);
 
679
            message = JSON.stringify(args);
 
680
        }
 
681
        else
 
682
        {
 
683
            xhr.setRequestHeader("Content-Type", content_type);
 
684
            message = args;
 
685
        }
677
686
        xhr.send(message);
678
687
    }
679
688
    /* Only return the XHR for syncronous requests */