| Server IP : 68.183.124.220 / Your IP : 216.73.217.137 Web Server : Apache/2.4.18 (Ubuntu) System : Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : gavin ( 1000) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/gavin/workspace/happymandarin/node_modules/xmlhttprequest-ssl/tests/ |
Upload File : |
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) {
// Test setRequestHeader
assert.equal("Foobar", req.headers["x-test"]);
// Test non-conforming allowed header
assert.equal("node-XMLHttpRequest-test", req.headers["user-agent"]);
// Test header set with blacklist disabled
assert.equal("http://github.com", req.headers["referer"]);
var body = "Hello World";
res.writeHead(200, {
"Content-Type": "text/plain",
"Content-Length": Buffer.byteLength(body),
// Set cookie headers to see if they're correctly suppressed
// Actual values don't matter
"Set-Cookie": "foo=bar",
"Set-Cookie2": "bar=baz",
"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) {
// Test getAllResponseHeaders()
var headers = "content-type: text/plain\r\ncontent-length: 11\r\ndate: Thu, 30 Aug 2012 18:17:53 GMT\r\nconnection: close";
assert.equal(headers, this.getAllResponseHeaders());
// Test case insensitivity
assert.equal('text/plain', this.getResponseHeader('Content-Type'));
assert.equal('text/plain', this.getResponseHeader('Content-type'));
assert.equal('text/plain', this.getResponseHeader('content-Type'));
assert.equal('text/plain', this.getResponseHeader('content-type'));
// Test aborted getAllResponseHeaders
this.abort();
assert.equal("", this.getAllResponseHeaders());
assert.equal(null, this.getResponseHeader("Connection"));
sys.puts("done");
}
};
assert.equal(null, xhr.getResponseHeader("Content-Type"));
try {
xhr.open("GET", "http://localhost:8000/");
// Valid header
xhr.setRequestHeader("X-Test", "Foobar");
// Invalid header
xhr.setRequestHeader("Content-Length", 0);
// Allowed header outside of specs
xhr.setRequestHeader("user-agent", "node-XMLHttpRequest-test");
// Test getRequestHeader
assert.equal("Foobar", xhr.getRequestHeader("X-Test"));
// Test invalid header
assert.equal("", xhr.getRequestHeader("Content-Length"));
// Test allowing all headers
xhr.setDisableHeaderCheck(true);
xhr.setRequestHeader("Referer", "http://github.com");
assert.equal("http://github.com", xhr.getRequestHeader("Referer"));
xhr.send();
} catch(e) {
console.log("ERROR: Exception raised", e);
}