Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/dom/base/test/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 1 kB image not shown  

Quelle  send_gzip_content.sjs   Sprache: unbekannt

 
Spracherkennung für: .sjs vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

function gzipCompressString(string, obs) {
  let scs = Cc["@mozilla.org/streamConverters;1"].getService(
    Ci.nsIStreamConverterService
  );
  let listener = Cc["@mozilla.org/network/stream-loader;1"].createInstance(
    Ci.nsIStreamLoader
  );
  listener.init(obs);
  let converter = scs.asyncConvertData("uncompressed", "gzip", listener, null);
  let stringStream = Cc["@mozilla.org/io/string-input-stream;1"].createInstance(
    Ci.nsIStringInputStream
  );
  // NOTE: This should be setByteStringData, however Android host-utils is
  // pinned to an old version of xpcom which does not have that method, so
  // instead we use nsISupportsCString.
  stringStream.QueryInterface(Ci.nsISupportsCString).data = string;
  converter.onStartRequest(null, null);
  converter.onDataAvailable(null, stringStream, 0, string.length);
  converter.onStopRequest(null, null, null);
}

function produceData() {
  var chars =
    "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+";
  var result = "";
  for (var i = 0; i < 100000; ++i) {
    result += chars;
  }
  return result;
}

function handleRequest(request, response) {
  response.processAsync();

  // Generate data
  var strings_to_send = produceData();
  response.setHeader("Content-Type", "text/plain", false);
  response.setHeader("Content-Encoding", "gzip", false);

  let observer = {
    onStreamComplete(loader, context, status, length, result) {
      buffer = String.fromCharCode.apply(this, result);
      response.setHeader("Content-Length", "" + buffer.length, false);
      response.write(buffer);
      response.finish();
    },
  };
  gzipCompressString(strings_to_send, observer);
}

[ Dauer der Verarbeitung: 0.31 Sekunden  ]