<!doctype html>
<html>
  <head>
    <title>XMLHttpRequest: send() - Redirect to CORS-enabled resource</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <link rel="help" href="https://xhr.spec.whatwg.org/#infrastructure-for-the-send()-method" data-tested-assertations="following::dl[1]/dt[2] following::dl[1]/dd[2]/ol/li[1] following::dl[1]/dd[2]/ol/li[3]" />
  </head>
  <body>
    <div id="log"></div>
    <script>
      function redirect(code) {
        var test = async_test(document.title + " (" + code + ")")
        test.step(function() {
          var client = new XMLHttpRequest()
          client.onreadystatechange = function() {
            test.step(function() {
              if(client.readyState == 4) {
                assert_equals(client.getResponseHeader("x-request-method"), "GET")
                assert_equals(client.getResponseHeader("x-request-content-type"), "application/x-pony")
                test.done()
              }
            })
          }
          client.open("GET", "resources/redirect.py?location="+encodeURIComponent("http://www2."+location.host+(location.pathname.replace(/[^\/]+$/, ''))+'resources/corsenabled.py')+"&code=" + code)
          client.setRequestHeader("Content-Type", "application/x-pony")
          client.send(null)
        })
      }
      redirect("301")
      redirect("302")
      redirect("303")
      redirect("307")
    </script>
  </body>
</html>
