HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: //lib/node_modules/pm2/node_modules/js-git/net/request-xhr.js
"use strict";

module.exports = request;

function request(method, url, headers, body, callback) {
  if (typeof body === "function") {
    callback = body;
    body = undefined;
  }
  if (!callback) {
    return request.bind(null, method, url, headers, body);
  }
  var xhr = new XMLHttpRequest();
  xhr.open(method, url, true);
  xhr.responseType = "arraybuffer";

  Object.keys(headers).forEach(function (name) {
    xhr.setRequestHeader(name, headers[name]);
  });

  xhr.onreadystatechange = function () {
    if (xhr.readyState !== 4) return;
    var resHeaders = {};
    xhr.getAllResponseHeaders().trim().split("\r\n").forEach(function (line) {
      var index = line.indexOf(":");
      resHeaders[line.substring(0, index).toLowerCase()] = line.substring(index + 1).trim();
    });

    callback(null, {
      statusCode: xhr.status,
      headers: resHeaders,
      body: xhr.response && new Uint8Array(xhr.response)
    });
  };
  xhr.send(body);
}