1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- var sys = require("util")
- , assert = require("assert")
- , XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest
- , xhr = new XMLHttpRequest();
-
- // Test request methods that aren't allowed
- try {
- xhr.open("TRACK", "http://localhost:8000/");
- console.log("ERROR: TRACK should have thrown exception");
- } catch(e) {}
- try {
- xhr.open("TRACE", "http://localhost:8000/");
- console.log("ERROR: TRACE should have thrown exception");
- } catch(e) {}
- try {
- xhr.open("CONNECT", "http://localhost:8000/");
- console.log("ERROR: CONNECT should have thrown exception");
- } catch(e) {}
- // Test valid request method
- try {
- xhr.open("GET", "http://localhost:8000/");
- } catch(e) {
- console.log("ERROR: Invalid exception for GET", e);
- }
-
- // Test forbidden headers
- var forbiddenRequestHeaders = [
- "accept-charset",
- "accept-encoding",
- "access-control-request-headers",
- "access-control-request-method",
- "connection",
- "content-length",
- "content-transfer-encoding",
- "cookie",
- "cookie2",
- "date",
- "expect",
- "host",
- "keep-alive",
- "origin",
- "referer",
- "te",
- "trailer",
- "transfer-encoding",
- "upgrade",
- "via"
- ];
-
- for (var i in forbiddenRequestHeaders) {
- if(xhr.setRequestHeader(forbiddenRequestHeaders[i], "Test") !== false) {
- console.log("ERROR: " + forbiddenRequestHeaders[i] + " should have thrown exception");
- }
- }
-
- // Try valid header
- xhr.setRequestHeader("X-Foobar", "Test");
-
- console.log("Done");
|