tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

status-preflight.htm (2046B)


      1 <!DOCTYPE html>
      2 <meta charset=utf-8>
      3 <title>CORS - status after preflight</title>
      4 <meta name=author title="Odin Hørthe Omdal" href="mailto:odiho@opera.com">
      5 
      6 <script src=/resources/testharness.js></script>
      7 <script src=/resources/testharnessreport.js></script>
      8 <script src=support.js?pipe=sub></script>
      9 
     10 <h1>Status after preflight</h1>
     11 
     12 <div id=log></div>
     13 <script>
     14 var counter = 0
     15 
     16 function statusAfterPreflight(method, code) {
     17    counter++
     18 
     19    async_test(document.title + " on " + method + " " + code).step(function() {
     20        var client = new XMLHttpRequest()
     21        client.open(method, CROSSDOMAIN + "resources/status.py?" + counter
     22            +"&code=" + code + '&headers=x-nonsimple&preflight=200', true)
     23 
     24        client.setRequestHeader('x-nonsimple', true)
     25        client.onreadystatechange = this.step_func(function() {
     26            if (client.readyState < client.HEADERS_RECEIVED)
     27                return
     28            assert_equals(client.response, "", "response data")
     29            assert_equals(client.status, code, "response status")
     30            if (client.readyState == client.DONE) {
     31                /* Wait for spurious error events */
     32                this.step_timeout(() => { this.done() }, 10)
     33            }
     34        })
     35 
     36        client.onerror = this.step_func(function() {
     37            assert_unreached("Shouldn't throw no error event!")
     38        })
     39 
     40        client.send()
     41    })
     42 }
     43 
     44 /*                   method     code */
     45 statusAfterPreflight("GET",     200)
     46 statusAfterPreflight("GET",     204)
     47 statusAfterPreflight("GET",     400)
     48 statusAfterPreflight("GET",     401)
     49 
     50 statusAfterPreflight("HEAD",    200)
     51 statusAfterPreflight("HEAD",    204)
     52 statusAfterPreflight("HEAD",    400)
     53 statusAfterPreflight("HEAD",    401)
     54 statusAfterPreflight("HEAD",    501)
     55 statusAfterPreflight("HEAD",    699)
     56 
     57 statusAfterPreflight("POST",    204)
     58 statusAfterPreflight("POST",    400)
     59 statusAfterPreflight("POST",    401)
     60 statusAfterPreflight("POST",    404)
     61 
     62 statusAfterPreflight("PUT",     699)
     63 statusAfterPreflight("CHICKEN", 501)
     64 
     65 </script>