Branch data Line data Source code
1 [ + ]: 2 : import assert from 'node:assert/strict'; 2 : 2 : import { XMLHttpRequest } from '../../../lib/whatwg-xhr.js'; 3 : 2 : 4 [ + ]: 2 : export default (activeURL) => { 5 : 1 : 6 [ + ]: 1 : (async() => { 7 : 1 : 8 [ + ]: 1 : let p = new Promise(resolve => { 9 : 1 : 10 : 1 : let xhr = new XMLHttpRequest(); 11 : 1 : 12 [ + ]: 1 : xhr.onreadystatechange = () => { 13 [ + ]: 4 : if(xhr.readyState == 4){ 14 : 1 : assert.strictEqual(xhr.responseText, 'User-Agent: TEST\n'); 15 : 1 : xhr.onreadystatechange = null; 16 : 1 : resolve(); 17 : 1 : } 18 : 1 : }; 19 : 1 : 20 : 1 : let location = encodeURIComponent(`${activeURL}/inspect-headers.py?filter_name=user-agent`); 21 : 1 : 22 : 1 : xhr.open('POST', `${activeURL}/redirect.py?location=${location}`); 23 : 1 : xhr.setRequestHeader('User-Agent', 'TEST'); 24 : 1 : xhr.send(); 25 : 1 : }); 26 : 1 : 27 : 1 : await p; 28 : 1 : })(); 29 : 1 : } 30 : 2 : 31 : 2 : /* 32 : 2 : * preserve-ua-header-on-redirect.htm 33 : 2 : * 34 : 2 : 35 : 2 : <!doctype html> 36 : 2 : <html> 37 : 2 : <head> 38 : 2 : <title>XMLHttpRequest: User-Agent header is preserved on redirect</title> 39 : 2 : <script src="/resources/testharness.js"></script> 40 : 2 : <script src="/resources/testharnessreport.js"></script> 41 : 2 : </head> 42 : 2 : <body> 43 : 2 : <div id="log"></div> 44 : 2 : <script> 45 : 2 : var test = async_test() 46 : 2 : test.step(function() { 47 : 2 : var client = new XMLHttpRequest() 48 : 2 : client.onreadystatechange = function() { 49 : 2 : test.step(function() { 50 : 2 : if(client.readyState == 4) { 51 : 2 : assert_equals(client.responseText, 'User-Agent: '+navigator.userAgent+'\n') 52 : 2 : test.done() 53 : 2 : } 54 : 2 : }) 55 : 2 : } 56 : 2 : client.open("POST", "resources/redirect.py?location="+encodeURIComponent("inspect-headers.py?filter_name=user-agent")) 57 : 2 : client.send(null) 58 : 2 : }) 59 : 2 : 60 : 2 : var test2 = async_test() 61 : 2 : test2.step(function() { 62 : 2 : var client = new XMLHttpRequest() 63 : 2 : client.onreadystatechange = function() { 64 : 2 : test2.step(function() { 65 : 2 : if(client.readyState == 4) { 66 : 2 : assert_equals(client.responseText, 'User-Agent: TEST\n') 67 : 2 : test2.done() 68 : 2 : } 69 : 2 : }) 70 : 2 : } 71 : 2 : client.open("POST", "resources/redirect.py?location="+encodeURIComponent("inspect-headers.py?filter_name=user-agent")) 72 : 2 : client.setRequestHeader("User-Agent", "TEST") 73 : 2 : client.send(null) 74 : 2 : }) 75 : 2 : </script> 76 : 2 : </body> 77 : 2 : </html> 78 : 2 : 79 : 2 : * 80 : 2 : * preserve-ua-header-on-redirect.htm 81 : 2 : */