arnaucube
arnaucube/raspberryGPIOhtmlserverPublic Self-hosted repository
raspberryGPIOhtmlserver/node_modules/xmlhttprequest/tests/test-exceptions.js
node_modules/xmlhttprequest/tests/test-exceptions.jsRaw
 1var sys = require("util")
 2  , assert = require("assert")
 3  , XMLHttpRequest = require("../lib/XMLHttpRequest").XMLHttpRequest
 4  , xhr = new XMLHttpRequest();
 5
 6// Test request methods that aren't allowed
 7try {
 8  xhr.open("TRACK", "http://localhost:8000/");
 9  console.log("ERROR: TRACK should have thrown exception");
10} catch(e) {}
11try {
12  xhr.open("TRACE", "http://localhost:8000/");
13  console.log("ERROR: TRACE should have thrown exception");
14} catch(e) {}
15try {
16  xhr.open("CONNECT", "http://localhost:8000/");
17  console.log("ERROR: CONNECT should have thrown exception");
18} catch(e) {}
19// Test valid request method
20try {
21  xhr.open("GET", "http://localhost:8000/");
22} catch(e) {
23  console.log("ERROR: Invalid exception for GET", e);
24}
25
26// Test forbidden headers
27var forbiddenRequestHeaders = [
28  "accept-charset",
29  "accept-encoding",
30  "access-control-request-headers",
31  "access-control-request-method",
32  "connection",
33  "content-length",
34  "content-transfer-encoding",
35  "cookie",
36  "cookie2",
37  "date",
38  "expect",
39  "host",
40  "keep-alive",
41  "origin",
42  "referer",
43  "te",
44  "trailer",
45  "transfer-encoding",
46  "upgrade",
47  "user-agent",
48  "via"
49];
50
51for (var i in forbiddenRequestHeaders) {
52  try {
53    xhr.setRequestHeader(forbiddenRequestHeaders[i], "Test");
54    console.log("ERROR: " + forbiddenRequestHeaders[i] + " should have thrown exception");
55  } catch(e) {
56  }
57}
58
59// Try valid header
60xhr.setRequestHeader("X-Foobar", "Test");
61
62console.log("Done");