function POST()

in ArticleTemplates/assets/js/modules/http.js [3:25]


function POST(url, successCallback, errorCallback,  data) {
    // callbacks needs to be a named function
    if (typeof successCallback !== "function" ||
        typeof errorCallback !== "function" ||
        successCallback.name === "" ||
        errorCallback.name === "") {
        return;
    }

    window['httpCallbacks'][successCallback.name] = successCallback;
    window['httpCallbacks'][errorCallback.name] = errorCallback;

    url = encodeURIComponent(url)
    data = encodeURIComponent(data)

    const postUrl = `POST/${url}?data=${data}&successCallback=window.httpCallbacks['${successCallback.name}']&errorCallback=window.httpCallbacks['${errorCallback.name}']`;

    if (window.GU && window.GU.opts && window.GU.opts.platform === 'android' && window.GuardianJSInterface && window.GuardianJSInterface.post) {
        window.GuardianJSInterface.post(postUrl);
    } else {
        signalDevice(postUrl);
    }
}