web_packaged_app.sjs (1420B)
1 function handleRequest(request, response) { 2 response.setHeader("Content-Type", "application/package", false); 3 response.write(octetStreamData.getData()); 4 } 5 6 // The package content 7 // getData formats it as described at http://www.w3.org/TR/web-packaging/#streamable-package-format 8 var octetStreamData = { 9 content: [ 10 { 11 headers: ["Content-Location: /index.html", "Content-Type: text/html"], 12 data: "<html>\r\n <head>\r\n <script> alert('OK: hello'); alert('DONE'); </script>\r\n</head>\r\n Web Packaged App Index\r\n</html>\r\n", 13 type: "text/html", 14 }, 15 { 16 headers: [ 17 "Content-Location: /scripts/app.js", 18 "Content-Type: text/javascript", 19 ], 20 data: "module Math from '/scripts/helpers/math.js';\r\n...\r\n", 21 type: "text/javascript", 22 }, 23 { 24 headers: [ 25 "Content-Location: /scripts/helpers/math.js", 26 "Content-Type: text/javascript", 27 ], 28 data: "export function sum(nums) { ... }\r\n...\r\n", 29 type: "text/javascript", 30 }, 31 ], 32 token: "gc0pJq0M:08jU534c0p", 33 getData() { 34 var str = ""; 35 for (var i in this.content) { 36 str += "--" + this.token + "\r\n"; 37 for (var j in this.content[i].headers) { 38 str += this.content[i].headers[j] + "\r\n"; 39 } 40 str += "\r\n"; 41 str += this.content[i].data + "\r\n"; 42 } 43 44 str += "--" + this.token + "--"; 45 return str; 46 }, 47 };