Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 /**
2 * Any copyright is dedicated to the Public Domain.
3 * http://creativecommons.org/publicdomain/zero/1.0/
4 */
5 "use strict";
7 function handleRequest(request, response) {
8 switch (request.method) {
9 case "POST":
10 try {
11 var optionsHost = request.getHeader("options-host");
12 } catch(e) { }
14 if (optionsHost) {
15 setState("postHost", request.host);
16 setState("optionsHost", optionsHost);
17 return;
18 }
19 break;
21 case "OPTIONS":
22 if (getState("optionsHost") == request.host) {
23 try {
24 var optionsHeader =
25 request.getHeader("Access-Control-Request-Headers");
26 } catch(e) { }
27 setState("optionsHeader", "'" + optionsHeader + "'");
28 }
29 break;
31 case "GET":
32 response.setHeader("Cache-Control", "no-cache", false);
33 response.setHeader("Content-Type", "text/plain", false);
35 if (getState("postHost") == request.host) {
36 var result = getState("optionsHeader");
37 if (result) {
38 response.write("Success: expected OPTIONS request with " + result +
39 " header");
40 } else if (getState("badGet") == 1) {
41 response.write("Error: unexpected GET request");
42 }
43 } else {
44 setState("badGet", "1");
45 response.write("Error: this response should never be seen");
46 }
47 return;
48 }
50 response.setStatusLine(request.httpVersion, 501, "Not Implemented");
51 }