| var sys = require("util") |
| , assert = require("assert") |
| , XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest |
| , xhr = new XMLHttpRequest() |
| , http = require("http"); |
| |
| // Test server |
| var server = http.createServer(function (req, res) { |
| if (req.url === '/redirectingResource') { |
| res.writeHead(307, {'Location': 'http://localhost:8000/'}); |
| res.end(); |
| return; |
| } |
| |
| assert.equal(req.method, 'POST'); |
| |
| var body = "Hello World"; |
| res.writeHead(200, { |
| "Content-Type": "text/plain", |
| "Content-Length": Buffer.byteLength(body), |
| "Date": "Thu, 30 Aug 2012 18:17:53 GMT", |
| "Connection": "close" |
| }); |
| res.write("Hello World"); |
| res.end(); |
| |
| this.close(); |
| }).listen(8000); |
| |
| xhr.onreadystatechange = function() { |
| if (this.readyState == 4) { |
| assert.equal(xhr.getRequestHeader('Location'), ''); |
| assert.equal(xhr.responseText, "Hello World"); |
| sys.puts("done"); |
| } |
| }; |
| |
| try { |
| xhr.open("POST", "http://localhost:8000/redirectingResource"); |
| xhr.send(); |
| } catch(e) { |
| console.log("ERROR: Exception raised", e); |
| } |