docs: function FakeXMLHttpRequest() {
          this.readyState = FakeXMLHttpRequest.UNSENT;
          this.requestHeaders = {};
          this.requestBody = null;
          this.status = 0;
          this.statusText = "";
  
          var xhr = this;
          var events = ["loadstart", "load", "abort", "loadend"];
  
          function addEventListener(eventName) {
              xhr.addEventListener(eventName, function (event) {
                  var listener = xhr["on" + eventName];
  
                  if (listener && typeof listener == "function") {
                      listener(event);
                  }
              });
          }
  
          for (var i = events.length - 1; i >= 0; i--) {
              addEventListener(events[i]);
          }
  
          if (typeof FakeXMLHttpRequest.onCreate == "function") {
              FakeXMLHttpRequest.onCreate(this);
          }
      }