|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 * * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 function handleRequest(request, response) { |
|
6 response.setHeader("Cache-Control", "no-cache", false); |
|
7 |
|
8 let loadedStateKey = "sandbox_content_loaded"; |
|
9 switch(request.queryString) { |
|
10 case "reset": { |
|
11 setState(loadedStateKey, ""); |
|
12 response.write("reset"); |
|
13 break; |
|
14 } |
|
15 case "get_loaded": { |
|
16 response.setHeader("Content-Type", "text/plain", false); |
|
17 let loaded = getState(loadedStateKey); |
|
18 if (loaded) |
|
19 response.write(loaded); |
|
20 else |
|
21 response.write("NOTHING"); |
|
22 break; |
|
23 } |
|
24 default: { |
|
25 let contentType = decodeURIComponent(request.queryString); |
|
26 // set the Content-Type equal to the query string |
|
27 response.setHeader("Content-Type", contentType, false); |
|
28 // If any content is loaded, append it's content type in state |
|
29 let loaded = getState(loadedStateKey); |
|
30 if (loaded) |
|
31 loaded += ","; |
|
32 setState(loadedStateKey, loaded + contentType); |
|
33 break; |
|
34 } |
|
35 } |
|
36 } |