Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  file_frameancestors.sjs   Sprache: unbekannt

 
// SJS file for CSP frame ancestor mochitests
function handleRequest(request, response) {
  var query = {};
  request.queryString.split("&").forEach(function (val) {
    var [name, value] = val.split("=");
    query[name] = unescape(value);
  });

  var isPreflight = request.method == "OPTIONS";

  //avoid confusing cache behaviors
  response.setHeader("Cache-Control", "no-cache", false);

  // grab the desired policy from the query, and then serve a page
  if (query.csp) {
    response.setHeader("Content-Security-Policy", unescape(query.csp), false);
  }
  if (query.scriptedreport) {
    // spit back a script that records that the page loaded
    response.setHeader("Content-Type", "text/javascript", false);
    if (query.double) {
      response.write(
        'window.parent.parent.parent.postMessage({call: "frameLoaded", testname: "' +
          query.scriptedreport +
          '", uri: "window.location.toString()"}, "*");'
      );
    } else {
      response.write(
        'window.parent.parent.postMessage({call: "frameLoaded", testname: "' +
          query.scriptedreport +
          '", uri: "window.location.toString()"}, "*");'
      );
    }
  } else if (query.internalframe) {
    // spit back an internal iframe (one that might be blocked)
    response.setHeader("Content-Type", "text/html", false);
    response.write("<html><head>");
    if (query.double) {
      response.write(
        '<script src="file_frameancestors.sjs?double=1&scriptedreport=' +
          query.testid +
          '"></script>'
      );
    } else {
      response.write(
        '<script src="file_frameancestors.sjs?scriptedreport=' +
          query.testid +
          '"></script>'
      );
    }
    response.write("</head><body>");
    response.write(unescape(query.internalframe));
    response.write("</body></html>");
  } else if (query.externalframe) {
    // spit back an internal iframe (one that won't be blocked, and probably
    // has no CSP)
    response.setHeader("Content-Type", "text/html", false);
    response.write("<html><head>");
    response.write("</head><body>");
    response.write(unescape(query.externalframe));
    response.write("</body></html>");
  } else {
    // default case: error.
    response.setHeader("Content-Type", "text/html", false);
    response.write("<html><body>");
    response.write("ERROR: not sure what to serve.");
    response.write("</body></html>");
  }
}

[ Dauer der Verarbeitung: 0.19 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge