| <!DOCTYPE html> |
| <meta charset=utf-8> |
| <title>CORS - simple requests</title> |
| <meta name=author title="Odin Hørthe Omdal" href="mailto:odiho@opera.com"> |
| |
| <script src=/resources/testharness.js></script> |
| <script src=/resources/testharnessreport.js></script> |
| <script src=support.js?pipe=sub></script> |
| <script src=/common/utils.js></script> |
| |
| <h1>Simple requests</h1> |
| <p>Simple requests shouldn't trigger preflight</p> |
| |
| <div id=log></div> |
| <script> |
| |
| var test_c = 0; |
| |
| function check_simple(method, headers) |
| { |
| test(function() { |
| var client = new XMLHttpRequest() |
| var uuid_token = token(); |
| client.open(method, CROSSDOMAIN + 'resources/preflight.py?token=' |
| + uuid_token, false) |
| for (head in headers) |
| client.setRequestHeader(head, headers[head]) |
| client.send("data") |
| assert_equals(client.getResponseHeader('content-type'), "text/plain") |
| if (method == 'HEAD') |
| assert_equals(client.response, '', 'response') |
| else |
| assert_equals(client.response, 'NO', 'response') |
| |
| client.open('GET', 'resources/preflight.py?check&token=' |
| + uuid_token, false) |
| client.send("data") |
| assert_equals(client.response, "0", "Found preflight log") |
| }, |
| 'No preflight ' + method + ' and ' + JSON.stringify(headers)) |
| } |
| |
| function check_simple_headers(headers) { |
| check_simple('GET', headers) |
| check_simple('HEAD', headers) |
| check_simple('POST', headers) |
| } |
| |
| check_simple_headers({ |
| 'save-data': 'on', |
| 'device-memory': '2.0', |
| 'dpr': '3.0', |
| 'width': '1200', |
| 'viewport-width': '1300' |
| }) |
| |
| </script> |