summaryrefslogtreecommitdiff
path: root/.c9revisions/server/http/http.js.c9save
diff options
context:
space:
mode:
Diffstat (limited to '.c9revisions/server/http/http.js.c9save')
-rw-r--r--.c9revisions/server/http/http.js.c9save78
1 files changed, 78 insertions, 0 deletions
diff --git a/.c9revisions/server/http/http.js.c9save b/.c9revisions/server/http/http.js.c9save
new file mode 100644
index 0000000..e909ef4
--- /dev/null
+++ b/.c9revisions/server/http/http.js.c9save
@@ -0,0 +1,78 @@
+{"ts":1376896342244,"silentsave":true,"restoring":false,"patch":[[{"diffs":[[1,"var http = require('http');\nhttp.createServer(function (req, res) {\n res.writeHead(200, {'Content-Type': 'text/plain'});\n res.end('Hello World from Cloud9\\n');\n}).listen(process.env.PORT);"]],"start1":0,"start2":0,"length1":0,"length2":190}]],"length":190}
+{"contributors":[],"silentsave":false,"ts":1376896347118,"patch":[[{"diffs":[[0,"'http');"],[1,"\r"],[0,"\nhttp.cr"]],"start1":19,"start2":19,"length1":16,"length2":17},{"diffs":[[0,", res) {"],[1,"\r"],[0,"\n res.w"]],"start1":60,"start2":60,"length1":16,"length2":17},{"diffs":[[0,"lain'});"],[1,"\r"],[0,"\n res.e"]],"start1":115,"start2":115,"length1":16,"length2":17},{"diffs":[[0,"rom "],[-1,"Cloud9\\n');"],[1,"Me\\n');\r\n console.log(req);\r"],[0,"\n})."]],"start1":149,"start2":149,"length1":19,"length2":37}]],"length":211,"saved":false}
+{"ts":1376896461961,"patch":[[{"diffs":[[0,"v.PORT);"],[1,"\r\n\r\nconsole.log(process.env.PORT);"]],"start1":203,"start2":203,"length1":8,"length2":42}]],"length":245,"saved":false}
+{"ts":1376896634129,"patch":[[{"diffs":[[0,"var http"],[-1," "],[0,"= requir"]],"start1":0,"start2":0,"length1":17,"length2":16},{"diffs":[[0,"ttp');\r\n"],[1,"var fs = require('fs');\r\n"],[0,"http.cre"]],"start1":20,"start2":20,"length1":16,"length2":42},{"diffs":[[0,"end("],[-1,"'Hello World from Me\\n'"],[0,");\r\n"]],"start1":156,"start2":156,"length1":31,"length2":8}]],"length":247,"saved":false}
+{"ts":1376896674423,"patch":[[{"diffs":[[0,"eServer("],[1,"\r\n "],[0,"function"]],"start1":64,"start2":64,"length1":16,"length2":22},{"diffs":[[0,"res) {\r\n"],[1," "],[0," res.wr"]],"start1":93,"start2":93,"length1":16,"length2":22},{"diffs":[[0,"ead("],[-1,"200, {'Content-Type': 'text/plain'});\r\n res.end("],[1,"\r\n 200, \r\n {'Content-Type': 'text/html'}\r\n );\r\n res.end(\r\n \r\n "],[0,");\r\n"]],"start1":119,"start2":119,"length1":57,"length2":124}]],"length":326,"saved":false}
+{"ts":1376896679006,"patch":[[{"diffs":[[0,");\r\n"],[-1," console.log(req);\r\n"],[0,"}).l"]],"start1":239,"start2":239,"length1":29,"length2":8}]],"length":305,"saved":false}
+{"ts":1376896686124,"patch":[[{"diffs":[[0," );\r\n"],[-1,"}"],[1," }\r\n"],[0,").listen"]],"start1":235,"start2":235,"length1":17,"length2":23},{"diffs":[[0,"RT);"],[-1,"\r\n\r\nconsole.log(process.env.PORT);"]],"start1":273,"start2":273,"length1":38,"length2":4}]],"length":277,"saved":false}
+{"ts":1376896770027,"patch":[[{"diffs":[[0," "],[-1,"res.end("],[1,"fs.readFile('/etc/passwd', function (err, data) {\r\n if (err) throw err;\r\n console.log(data);"],[0,"\r\n "]],"start1":203,"start2":203,"length1":16,"length2":122},{"diffs":[[0," "],[1,"}"],[0,"\r\n "]],"start1":327,"start2":327,"length1":16,"length2":17}]],"length":384,"saved":false}
+{"ts":1376896821988,"patch":[[{"diffs":[[0,"ile("],[-1,"'/etc/passwd',"],[1,"\r\n '/view/apps/chat.html', \r\n "],[0," fun"]],"start1":215,"start2":215,"length1":22,"length2":59},{"diffs":[[0," "],[1," "],[0,"if (err)"]],"start1":299,"start2":299,"length1":16,"length2":20},{"diffs":[[0," "],[1," "],[-1,"console.log"],[1," res.end"],[0,"(dat"]],"start1":340,"start2":340,"length1":19,"length2":19}]],"length":425,"saved":false}
+{"ts":1376896886365,"patch":[[{"diffs":[[0," '"],[1,".."],[0,"/view/ap"]],"start1":226,"start2":226,"length1":16,"length2":18}]],"length":427,"saved":false}
+{"ts":1376896967223,"patch":[[{"diffs":[[0," '"],[-1,"../view/apps/"],[0,"chat."],[-1,"html"],[1,"js"],[0,"', \r"]],"start1":230,"start2":230,"length1":30,"length2":15}]],"length":412,"saved":false}
+{"ts":1376897062235,"patch":[[{"diffs":[[0," '"],[1,"view/apps/"],[0,"chat."],[-1,"js"],[1,"html"],[0,"', \r"]],"start1":230,"start2":230,"length1":15,"length2":27}]],"length":424,"saved":false}
+{"ts":1376902736255,"patch":[[{"diffs":[[0,"tp')"],[-1,";\r\nvar"],[1,",\r\n "],[0," fs "]],"start1":21,"start2":21,"length1":14,"length2":14},{"diffs":[[0,"re('fs')"],[-1,";"],[1,",\r\n Config = require('../config/chat.js'),\r\n conf = new Config();\r\n "],[0,"\r\nhttp.c"]],"start1":43,"start2":43,"length1":17,"length2":93},{"diffs":[[0,"ten("],[-1,"process.env.PORT"],[1,"conf.port"],[0,");"]],"start1":478,"start2":478,"length1":22,"length2":15}]],"length":493,"saved":false}
+{"ts":1376902745130,"patch":[[{"diffs":[[0,"/config/"],[-1,"chat"],[1,"http"],[0,".js'),\r\n"]],"start1":78,"start2":78,"length1":20,"length2":20}]],"length":493,"saved":false}
+{"contributors":[],"silentsave":false,"ts":1377114020773,"patch":[[{"diffs":[[0,"var http"],[1," "],[0,"= requir"]],"start1":0,"start2":0,"length1":16,"length2":17},{"diffs":[[0,"ire("],[-1,"'"],[1,"\""],[0,"http"],[-1,"'"],[1,"\"),\r\n url = require(\"url\"),\r\n path = require(\"path\""],[0,"),\r\n"]],"start1":15,"start2":15,"length1":14,"length2":70},{"diffs":[[0,"\n fs "],[-1," "],[0,"= requir"]],"start1":84,"start2":84,"length1":17,"length2":16},{"diffs":[[0,"ire("],[-1,"'fs'"],[1,"\"fs\""],[0,"),\r\n"]],"start1":98,"start2":98,"length1":12,"length2":12},{"diffs":[[0,"\r\n \r\n"],[1,"\r\nhttp.createServer(function(request, response) {\r\n\r\n var uri = url.parse(request.url).pathname\r\n , filename = path.join(process.cwd(), uri);\r\n\r\n var contentTypesByExtension = {\r\n '.html': \"text/html\",\r\n '.css': \"text/css\",\r\n '.js': \"text/javascript\"\r\n };\r\n\r\n path.exists(filename, function(exists) {\r\n if(!exists) {\r\n response.writeHead(404, {\"Content-Type\": \"text/plain\"});\r\n response.write(\"404 Not Found\\n\");\r\n response.end();\r\n return;\r\n }\r\n\r\n if (fs.statSync(filename).isDirectory()) filename += '/index.html';\r\n\r\n fs.readFile(filename, \"binary\", function(err, file) {\r\n if(err) { \r\n response.writeHead(500, {\"Content-Type\": \"text/plain\"});\r\n response.write(err + \"\\n\");\r\n response.end();\r\n return;\r\n }\r\n\r\n var headers = {};\r\n var contentType = contentTypesByExtension[path.extname(filename)];\r\n if (contentType) headers[\"Content-Type\"] = contentType;\r\n response.writeHead(200, headers);\r\n response.write(file, \"binary\");\r\n response.end();\r\n });\r\n });\r\n}).listen(conf.port);\r\n\r\n"],[0,"http.cre"]],"start1":178,"start2":178,"length1":16,"length2":1130},{"diffs":[[0," }\r\n).listen(conf.port"],[-1,""],[1,");\r\nconsole.log(\"Static file server running at\\n => http://localhost:\" + port + \"/\\nCTRL + C to shutdown\""],[0,");"]],"start1":1637,"start2":1637,"length1":26,"length2":132}]],"length":1769,"saved":false}
+{"ts":1377114409325,"patch":[[{"diffs":[[0,"eServer("],[1,"\r\n "],[0,"function"]],"start1":198,"start2":198,"length1":16,"length2":22},{"diffs":[[0,"nse) {\r\n"],[-1,"\r\n"],[1," "],[0," var ur"]],"start1":235,"start2":235,"length1":18,"length2":22},{"diffs":[[0,"name"],[1,", "],[0,"\r\n "],[-1,","],[1," "],[0," fil"]],"start1":288,"start2":288,"length1":15,"length2":23},{"diffs":[[0," uri);\r\n"],[-1,"\r\n"],[1," \r\n "],[0," var co"]],"start1":343,"start2":343,"length1":18,"length2":28},{"diffs":[[0,"ension = {\r\n"],[1," "],[0," '.html':"]],"start1":386,"start2":386,"length1":24,"length2":32},{"diffs":[[0,"ext/html\",\r\n"],[1," "],[0," '.css': "]],"start1":421,"start2":421,"length1":24,"length2":32},{"diffs":[[0,"text/css\",\r\n"],[1," "],[0," '.js': "]],"start1":455,"start2":455,"length1":24,"length2":32},{"diffs":[[0,"\r\n "],[-1,"};\r\n\r\n path.exists(filename, function"],[1," };\r\n \r\n path.exists(\r\n filename,\r\n serveFile\r\n );\r\n }\r\n).listen(conf.port);\r\n\r\nfunction serveFile"],[0,"(exi"]],"start1":505,"start2":505,"length1":46,"length2":153},{"diffs":[[0,"!exists) {\r\n"],[1," "],[0," respon"]],"start1":673,"start2":673,"length1":24,"length2":26},{"diffs":[[0,"lain\"});\r\n "],[1," "],[0,"response.write(\""]],"start1":741,"start2":741,"length1":32,"length2":34},{"diffs":[[0,"und\\n\");\r\n "],[1," "],[0,"response.end();\r"]],"start1":785,"start2":785,"length1":32,"length2":34},{"diffs":[[0,"d();\r\n "],[1," "],[1," "],[0,"return;\r\n "]],"start1":814,"start2":814,"length1":24,"length2":26},{"diffs":[[0,"ctory())"],[1,"\r\n "],[0," filenam"]],"start1":882,"start2":882,"length1":16,"length2":25},{"diffs":[[0,"ile("],[-1,"filename, \"binary\","],[1,"\r\n filename, \r\n \"binary\", \r\n "],[0," fun"]],"start1":942,"start2":942,"length1":27,"length2":57},{"diffs":[[0,"\r\n "],[1," "],[1," "],[0,"if(err) "]],"start1":1017,"start2":1017,"length1":16,"length2":22},{"diffs":[[0," { \r\n"],[1," "],[0," resp"]],"start1":1038,"start2":1038,"length1":24,"length2":32},{"diffs":[[0,"text/plain\"});\r\n"],[1," "],[0," response"]],"start1":1108,"start2":1108,"length1":32,"length2":40},{"diffs":[[0,"\"\\n\");\r\n "],[1," "],[1," "],[0,"response.end();\r"]],"start1":1161,"start2":1161,"length1":32,"length2":40},{"diffs":[[0,"end();\r\n "],[1," "],[1," "],[0,"return;\r\n }"]],"start1":1194,"start2":1194,"length1":32,"length2":40},{"diffs":[[0,"urn;\r\n "],[-1,"}\r\n\r\n"],[1," }\r\n \r\n "],[0," var he"]],"start1":1221,"start2":1221,"length1":29,"length2":45},{"diffs":[[0,"ders = {};\r\n"],[1," "],[0," var co"]],"start1":1267,"start2":1267,"length1":24,"length2":30},{"diffs":[[0,"ame)];\r\n"],[1," "],[0," if"]],"start1":1351,"start2":1351,"length1":16,"length2":22},{"diffs":[[0,"ntType) "],[1,"\r\n "],[0,"headers["]],"start1":1380,"start2":1380,"length1":16,"length2":34},{"diffs":[[0,"entType;\r\n "],[1," "],[1," "],[0,"response.writeHe"]],"start1":1436,"start2":1436,"length1":32,"length2":38},{"diffs":[[0,"eaders);\r\n "],[1," "],[1," "],[0,"response.write(f"]],"start1":1483,"start2":1483,"length1":32,"length2":38},{"diffs":[[0,"y\");\r\n "],[1," "],[1," "],[0,"response.end"]],"start1":1532,"start2":1532,"length1":24,"length2":30},{"diffs":[[0," "],[-1,"});"],[1," }"],[0,"\r\n "],[-1,"}"],[1," "],[0,");\r\n}"],[-1,").listen(conf.port);"],[0,"\r\n\r\n"]],"start1":1567,"start2":1567,"length1":41,"length2":24}]],"length":2060,"saved":false}
+{"ts":1377114440842,"patch":[[{"diffs":[[0," \r\n"],[-1," var contentTypesByExtension = {\r\n '.html': \"text/html\",\r\n '.css': \"text/css\",\r\n '.js': \"text/javascript\"\r\n };\r\n \r\n"],[0," "]],"start1":353,"start2":353,"length1":176,"length2":8}]],"length":1892,"saved":false}
+{"ts":1377114707735,"patch":[[{"diffs":[[0,"(exists) {\r\n"],[1," //Do not allow access to Dirs\r\n if (fs.statSync(filename).isDirectory()){\r\n serveForbidden();\r\n }\r\n \r\n var contentType = path.extname(filename);\r\n \r\n"],[0," if(!exis"]],"start1":486,"start2":486,"length1":24,"length2":199},{"diffs":[[0,"!exists) {\r\n"],[-1,""],[0," resp"]],"start1":680,"start2":680,"length1":24,"length2":24},{"diffs":[[0," return;\r\n"],[1,""],[0," }\r\n\r\n "]],"start1":832,"start2":832,"length1":24,"length2":24},{"diffs":[[0,"\r\n\r\n"],[-1," if (fs.statSync(filename).isDirectory())\r\n filename += '/index.html';\r\n\r\n"],[0," "]],"start1":849,"start2":849,"length1":92,"length2":8},{"diffs":[[0,"};\r\n"],[-1," var contentType = contentTypesByExtension[path.extname(filename)];\r\n"],[0," "]],"start1":1198,"start2":1198,"length1":88,"length2":8}]],"length":1903,"saved":false}
+{"ts":1377114719456,"patch":[[{"diffs":[[0,"rbidden();\r\n"],[1," return\r\n"],[0," }\r\n \r"]],"start1":595,"start2":595,"length1":24,"length2":40}]],"length":1919,"saved":false}
+{"ts":1377114854914,"patch":[[{"diffs":[[0,"ire("],[-1,"\""],[1,"'"],[0,"http"],[-1,"\""],[1,"'"],[0,"),\r\n"]],"start1":15,"start2":15,"length1":14,"length2":14},{"diffs":[[0,"ire("],[-1,"\"url\""],[1,"'url'"],[0,"),\r\n"]],"start1":43,"start2":43,"length1":13,"length2":13},{"diffs":[[0,"ire("],[-1,"\""],[1,"'"],[0,"path"],[-1,"\""],[1,"'"],[0,"),\r\n"]],"start1":71,"start2":71,"length1":14,"length2":14},{"diffs":[[0,"ire("],[-1,"\"fs\""],[1,"'fs'"],[0,"),\r\n"]],"start1":98,"start2":98,"length1":12,"length2":12},{"diffs":[[0," "],[-1,"response.writeHead(404, {\"Content-Type\": \"text/plain\"});\r\n response.write(\"404 Not Found\\n\");\r\n response.end();\r\n return;"],[0,"\r\n "]],"start1":712,"start2":712,"length1":150,"length2":8},{"diffs":[[0," "],[-1,"\""],[1,"'"],[0,"binary"],[-1,"\""],[1,"'"],[0,", \r\n "]],"start1":765,"start2":765,"length1":24,"length2":24},{"diffs":[[0,"d(500, {"],[-1,"\""],[1,"'"],[0,"Content-"]],"start1":880,"start2":880,"length1":17,"length2":17},{"diffs":[[0,"Type"],[-1,"\": \""],[1,"': '"],[0,"text"]],"start1":897,"start2":897,"length1":12,"length2":12},{"diffs":[[0,"xt/plain"],[-1,"\""],[1,"'"],[0,"});\r\n "]],"start1":907,"start2":907,"length1":17,"length2":17},{"diffs":[[0,"r + "],[-1,"\"\\n\""],[1,"'\\n'"],[0,");\r\n"]],"start1":954,"start2":954,"length1":12,"length2":12},{"diffs":[[0,"headers["],[-1,"\""],[1,"'"],[0,"Content-"]],"start1":1123,"start2":1123,"length1":17,"length2":17},{"diffs":[[0,"ent-Type"],[-1,"\""],[1,"'"],[0,"] = cont"]],"start1":1136,"start2":1136,"length1":17,"length2":17},{"diffs":[[0,"le, "],[-1,"\""],[1,"'"],[0,"binary"],[-1,"\""],[1,"'"],[0,");\r\n"]],"start1":1239,"start2":1239,"length1":16,"length2":16},{"diffs":[[0," );\r\n}\r\n\r\n"],[1,"function serveForbidden(){\r\n response.writeHead(403, \r\n {\r\n 'Content-Type' : 'text/plain'\r\n }\r\n );\r\n response.write('404 Not Found\\n');\r\n response.end();\r\n return;\r\n}\r\n\r\n"],[0,"http.createS"]],"start1":1296,"start2":1296,"length1":24,"length2":234},{"diffs":[[0,"ole.log("],[-1,"\""],[1,"'"],[0,"Static f"]],"start1":1887,"start2":1887,"length1":17,"length2":17},{"diffs":[[0,"calhost:"],[-1,"\""],[1,"'"],[0," + port "]],"start1":1941,"start2":1941,"length1":17,"length2":17},{"diffs":[[0," port + "],[-1,"\""],[1,"'"],[0,"/\\nCTRL "]],"start1":1952,"start2":1952,"length1":17,"length2":17},{"diffs":[[0,"down"],[-1,"\""],[1,"'"],[0,");"]],"start1":1980,"start2":1980,"length1":7,"length2":7}]],"length":1987,"saved":false}
+{"ts":1377115009100,"patch":[[{"diffs":[[0,"me);\r\n \r\n"],[1," \r\n \r\n"],[0," if(!exis"]],"start1":677,"start2":677,"length1":24,"length2":36},{"diffs":[[0," );\r\n}\r\n\r\n"],[1,"function serve(status,headers,body){\r\n response.writeHead(\r\n status, \r\n headers\r\n );\r\n response.write(body);\r\n response.end();\r\n return;\r\n}\r\n\r\n"],[0,"function ser"]],"start1":1308,"start2":1308,"length1":24,"length2":196},{"diffs":[[0,"rbidden(){\r\n"],[-1,""],[0," response"]],"start1":1508,"start2":1508,"length1":24,"length2":24},{"diffs":[[0,"('40"],[-1,"4 Not Foun"],[1,"3 not allowe"],[0,"d\\n'"]],"start1":1641,"start2":1641,"length1":18,"length2":20}]],"length":2173,"saved":false}
+{"ts":1377115096365,"patch":[[{"diffs":[[0,"n serve("],[1,"body,"],[0,"status,h"]],"start1":1327,"start2":1327,"length1":16,"length2":21},{"diffs":[[0,"ders"],[-1,",body){"],[1,"){\r\n //defaults to 200\r\n if(!status)\r\n status=200;\r\n //defaults to text/plain\r\n if(!headers)\r\n headers={\r\n 'Content-type':'text/plain'\r\n }"],[0,"\r\n "]],"start1":1350,"start2":1350,"length1":15,"length2":190}]],"length":2353,"saved":false}
+{"ts":1377115113862,"patch":[[{"diffs":[[0,"s=200;\r\n"],[1," \r\n"],[0," //de"]],"start1":1411,"start2":1411,"length1":16,"length2":22},{"diffs":[[0,"/plain\r\n"],[-1,""],[0," if(!"]],"start1":1447,"start2":1447,"length1":16,"length2":16},{"diffs":[[0,"\n }\r\n"],[1," \r\n"],[0," response"]],"start1":1532,"start2":1532,"length1":24,"length2":34},{"diffs":[[0,"eaders\r\n );\r\n"],[1,""],[0," response.wri"]],"start1":1606,"start2":1606,"length1":32,"length2":32},{"diffs":[[0,"\r\n\r\n"],[-1,"function serveForbidden(){\r\n response.writeHead(403, \r\n {\r\n 'Content-Type' : 'text/plain'\r\n }\r\n );\r\n response.write('403 not allowed\\n');\r\n response.end();\r\n return;\r\n}\r\n\r\n"],[0,"http"]],"start1":1684,"start2":1684,"length1":220,"length2":8}]],"length":2157,"saved":false}
+{"ts":1377115234516,"patch":[[{"diffs":[[0,"erve"],[-1,"Forbidden("],[1,"(\r\n 'Access Denied',\r\n 403\r\n "],[0,");\r\n"]],"start1":589,"start2":589,"length1":18,"length2":66},{"diffs":[[0," return"],[1,";"],[0,"\r\n }\r"]],"start1":661,"start2":661,"length1":16,"length2":17},{"diffs":[[0,");\r\n"],[-1," \r\n \r\n \r\n"],[0," "]],"start1":728,"start2":728,"length1":26,"length2":8}]],"length":2188,"saved":false}
+{"ts":1377115290647,"patch":[[{"diffs":[[0,"filename);\r\n"],[1," \r\n"],[0," if(!exis"]],"start1":720,"start2":720,"length1":24,"length2":30}]],"length":2194,"saved":false}
+{"ts":1377115325146,"patch":[[{"diffs":[[0,"(exists) {\r\n"],[1," if(!exists) {\r\n serve(\r\n 'MIA',\r\n 404\r\n );\r\n return;\r\n }\r\n \r\n"],[0," //Do not"]],"start1":486,"start2":486,"length1":24,"length2":138},{"diffs":[[0," \r\n"],[-1," if(!exists) {\r\n \r\n }\r\n\r\n"],[0," "]],"start1":848,"start2":848,"length1":46,"length2":8}]],"length":2270,"saved":false}
+{"ts":1377115348194,"patch":[[{"diffs":[[0," '"],[1,"404 "],[0,"MIA',\r\n "]],"start1":538,"start2":538,"length1":16,"length2":20},{"diffs":[[0," '"],[1,"403 "],[0,"Access D"]],"start1":719,"start2":719,"length1":16,"length2":20}]],"length":2278,"saved":false}
+{"ts":1377115758817,"patch":[[{"diffs":[[0,"me);\r\n \r\n"],[1," //Only serve specified file types \r\n if(!conf.contentType){\r\n serve(\r\n '415 File type not supported',\r\n 415\r\n );\r\n return;\r\n }\r\n \r\n //Deny restricted file types \r\n if(!conf.contentType){\r\n serve(\r\n '415 File type not supported',\r\n 415\r\n );\r\n return;\r\n }\r\n \r\n"],[0," fs.readF"]],"start1":848,"start2":848,"length1":24,"length2":393}]],"length":2647,"saved":false}
+{"ts":1377115904379,"patch":[[{"diffs":[[0," if ("],[1,"\r\n "],[0,"fs.statS"]],"start1":651,"start2":651,"length1":16,"length2":26},{"diffs":[[0,"ectory()"],[1," ||\r\n \r\n "],[0,"){\r\n "]],"start1":696,"start2":696,"length1":16,"length2":35},{"diffs":[[0,"Deni"],[-1,"ed',\r\n 403\r\n );\r\n return;\r\n }\r\n \r\n var contentType = path.extname(filename);\r\n \r\n //Only serve specified file types \r\n if(!conf.contentType){\r\n serve(\r\n '415 File type not supported',\r\n 415\r\n );\r\n return;\r\n }\r\n \r\n //Deny restricted file types \r\n if(!conf.contentType){\r\n serve(\r\n '415 File type not support"],[0,"ed',"]],"start1":767,"start2":767,"length1":430,"length2":8},{"diffs":[[0," 4"],[-1,"15"],[1,"03"],[0,"\r\n "]],"start1":786,"start2":786,"length1":10,"length2":10}]],"length":2254,"saved":false}
+{"ts":1377115971332,"patch":[[{"diffs":[[0," }\r\n \r\n"],[1," var contentType = path.extname(filename);\r\n \r\n //Only serve specified file types \r\n if(!conf.contentType){\r\n serve(\r\n '415 File type not supported',\r\n 415\r\n );\r\n return;\r\n }\r\n \r\n //Deny restricted file types \r\n if(!conf.contentType[contentType]){\r\n serve(\r\n '415 File type not supported',\r\n 415\r\n );\r\n return;\r\n }\r\n \r\n"],[0," //Do not"]],"start1":604,"start2":604,"length1":24,"length2":459},{"diffs":[[0,"||\r\n "],[1,"conf.restrictedType[contentType]"],[0,"\r\n ){\r\n "]],"start1":1140,"start2":1140,"length1":24,"length2":56}]],"length":2721,"saved":false}
+{"ts":1377115991346,"patch":[[{"diffs":[[0," to Dirs"],[1," or restricted file types"],[0,"\r\n if"]],"start1":1076,"start2":1076,"length1":16,"length2":41}]],"length":2746,"saved":false}
+{"ts":1377116068020,"patch":[[{"diffs":[[0," "],[-1,"response.writeHead(500, {'Content-Type': 'text/plain'});\r\n response.write(err + '\\n');"],[1,"serve(\r\n '500 '+err,\r\n 500"],[0,"\r\n "]],"start1":1460,"start2":1460,"length1":109,"length2":72},{"diffs":[[0," "],[-1,"response.end("],[0,");\r\n "]],"start1":1534,"start2":1534,"length1":37,"length2":24}]],"length":2696,"saved":false}
+{"ts":1377116118876,"patch":[[{"diffs":[[0," = {"],[-1,"};"],[0,"\r\n "]],"start1":1619,"start2":1619,"length1":10,"length2":8},{"diffs":[[0," "],[-1,"if (c"],[1," 'C"],[0,"ontent"],[1,"-"],[0,"Type"],[-1,") \r\n headers['C"],[1,"' : conf.c"],[0,"ontent"],[-1,"-"],[0,"Type"],[-1,"'] = "],[1,"["],[0,"cont"]],"start1":1633,"start2":1633,"length1":69,"length2":46},{"diffs":[[0,"tentType"],[-1,";"],[1,"]\r\n }"],[0,"\r\n "]],"start1":1678,"start2":1678,"length1":17,"length2":32}]],"length":2686,"saved":false}
+{"ts":1377116232346,"patch":[[{"diffs":[[0,"ite("],[-1,"file, 'binary'"],[0,");\r\n"]],"start1":1774,"start2":1774,"length1":22,"length2":8},{"diffs":[[0,",headers"],[1,",encoding"],[0,"){\r\n "]],"start1":1861,"start2":1861,"length1":16,"length2":25}]],"length":2681,"saved":false}
+{"ts":1377116301471,"patch":[[{"diffs":[[0," }\r\n "],[1,"\r\n //defaults to utf8\r\n if(!encoding)\r\n encoding='utf8'\r\n \r\n \r\n"],[0," \r\n re"]],"start1":2060,"start2":2060,"length1":24,"length2":106},{"diffs":[[0,"ite(body"],[1,",encoding"],[0,");\r\n "]],"start1":2243,"start2":2243,"length1":16,"length2":25}]],"length":2772,"saved":false}
+{"ts":1377116311181,"patch":[[{"diffs":[[0,"g='utf8'"],[1,";"],[0,"\r\n \r"]],"start1":2131,"start2":2131,"length1":16,"length2":17}]],"length":2773,"saved":false}
+{"ts":1377116314759,"patch":[[{"diffs":[[0,"';\r\n"],[-1," \r\n \r\n"],[0," "]],"start1":2138,"start2":2138,"length1":21,"length2":8}]],"length":2760,"saved":false}
+{"ts":1377116372740,"patch":[[{"diffs":[[0," "],[-1,"response.writeHead(200,"],[1,"serve(\r\n file,\r\n 200,\r\n "],[0," headers"],[-1,");"],[1,","],[0,"\r\n "]],"start1":1712,"start2":1712,"length1":41,"length2":85},{"diffs":[[0," "],[-1,"response.write("],[1," 'binary'\r\n "],[0,");\r\n "]],"start1":1799,"start2":1799,"length1":31,"length2":42},{"diffs":[[0," re"],[-1,"sponse.end()"],[1,"turn"],[0,";\r\n }"]],"start1":1839,"start2":1839,"length1":36,"length2":28}]],"length":2807,"saved":false}
+{"ts":1377116735626,"patch":[[{"diffs":[[0,"d(), uri);\r\n"],[1," console.log(filename);\r\n"],[0," \r\n "]],"start1":339,"start2":339,"length1":24,"length2":60}]],"length":2843,"saved":false}
+{"ts":1377116993145,"patch":[[{"diffs":[[0,";\r\n}"],[-1,"\r\n\r\nhttp.createServer(\r\n function (req, res) {\r\n res.writeHead(\r\n 200, \r\n {'Content-Type': 'text/html'}\r\n );\r\n fs.readFile(\r\n 'view/apps/chat.html', \r\n function (err, data) {\r\n if (err) throw err;\r\n res.end(data);\r\n }\r\n );\r\n }\r\n).listen(conf.port);\r\nconsole.log('Static file server running at\\n => http://localhost:' + port + '/\\nCTRL + C to shutdown');"]],"start1":2366,"start2":2366,"length1":477,"length2":4}]],"length":2370,"saved":false}
+{"ts":1377117026617,"patch":[[{"diffs":[[0,"\r\n \r\n"],[1,"conf.port=8080;"],[0,"\r\nhttp.c"]],"start1":178,"start2":178,"length1":16,"length2":31}]],"length":2385,"saved":false}
+{"ts":1377117134037,"patch":[[{"diffs":[[0,"ole.log("],[-1,"filename"],[1,"\r\n {\r\n uri : uri,\r\n filename: filename\r\n }\r\n "],[0,");\r\n "]],"start1":382,"start2":382,"length1":24,"length2":144}]],"length":2505,"saved":false}
+{"ts":1377117289388,"patch":[[{"diffs":[[0," );\r\n "],[1," \r\n //Do not allow access to Dirs\r\n if (!filename){\r\n serve(\r\n '403 Access Denied',\r\n 403\r\n );\r\n return;\r\n }\r\n "],[0,"\r\n pa"]],"start1":514,"start2":514,"length1":24,"length2":229}]],"length":2710,"saved":false}
+{"ts":1377117385907,"patch":[[{"diffs":[[0,"esponse) {\r\n"],[1," (\r\n function(){\r\n "],[0," var "]],"start1":246,"start2":246,"length1":24,"length2":68},{"diffs":[[0,", \r\n "],[1," "],[1," "],[0,"filename = path."]],"start1":351,"start2":351,"length1":32,"length2":40},{"diffs":[[0," "],[1," "],[0,"console."]],"start1":422,"start2":422,"length1":16,"length2":24},{"diffs":[[0," "],[1," "],[-1,"{\r\n"],[1," {\r\n "],[0," "]],"start1":460,"start2":460,"length1":19,"length2":35},{"diffs":[[0," "],[1," "],[1," "],[0,"filename: filena"]],"start1":527,"start2":527,"length1":32,"length2":40},{"diffs":[[0," "],[-1,"}\r\n"],[1," }\r\n "],[0," );\r\n"]],"start1":571,"start2":571,"length1":35,"length2":48},{"diffs":[[0," "],[1," "],[0,");\r\n \r\n "]],"start1":599,"start2":599,"length1":32,"length2":35},{"diffs":[[0," "],[1," "],[-1,"\r\n"],[1," \r\n "],[0," "],[1," "],[0,"//Do not"]],"start1":622,"start2":622,"length1":26,"length2":42},{"diffs":[[0,"ss to Dirs\r\n"],[1," "],[0," if ("]],"start1":675,"start2":675,"length1":24,"length2":32},{"diffs":[[0," "],[1," "],[1," "],[0,"serve(\r\n"],[1," "],[0," "]],"start1":720,"start2":720,"length1":32,"length2":48},{"diffs":[[0," "],[1," "],[1," "],[0,"403\r\n "]],"start1":794,"start2":794,"length1":32,"length2":40},{"diffs":[[0,"03\r\n "],[1," "],[1," "],[0,");\r\n "]],"start1":819,"start2":819,"length1":32,"length2":40},{"diffs":[[0,");\r\n "],[1," "],[1," "],[0,"return;\r\n "]],"start1":843,"start2":843,"length1":32,"length2":40},{"diffs":[[0," "],[1," "],[-1,"}\r\n \r\n"],[1," }\r\n \r\n "],[0," "]],"start1":880,"start2":880,"length1":21,"length2":45},{"diffs":[[0,"s(\r\n "],[1," "],[1," "],[0,"filename,\r\n "]],"start1":939,"start2":939,"length1":32,"length2":40},{"diffs":[[0," "],[1," "],[1," "],[0,"serveFile\r\n "]],"start1":974,"start2":974,"length1":24,"length2":32},{"diffs":[[0,"veFile\r\n "],[1," );\r\n }\r\n )(request,response"],[0,");\r\n }\r\n).lis"]],"start1":997,"start2":997,"length1":32,"length2":85}]],"length":2967,"saved":false}
+{"ts":1377117458547,"patch":[[{"diffs":[[0,"ename = "],[-1,"path"],[1,"fs"],[0,".join(pr"]],"start1":378,"start2":378,"length1":20,"length2":18},{"diffs":[[0," "],[-1,"path"],[1,"fs"],[0,".exists("]],"start1":919,"start2":919,"length1":20,"length2":18}]],"length":2963,"saved":false}
+{"ts":1377117474731,"patch":[[{"diffs":[[0,"ename = "],[-1,"fs"],[1,"path"],[0,".join(pr"]],"start1":378,"start2":378,"length1":18,"length2":20}]],"length":2965,"saved":false}
+{"ts":1377117614875,"patch":[[{"diffs":[[0,"rl).pathname"],[-1,", "],[1,";"],[0,"\r\n "]],"start1":339,"start2":339,"length1":26,"length2":25},{"diffs":[[0," "],[-1," filename = path.join(process.cwd(), "],[1,"if ("],[0,"uri)"],[-1,";"],[1,"{"],[0,"\r\n "]],"start1":366,"start2":366,"length1":53,"length2":17},{"diffs":[[0," "],[-1,"console.log"],[1,"serve"],[0,"(\r\n "]],"start1":397,"start2":397,"length1":19,"length2":13},{"diffs":[[0," "],[-1,"{"],[1,"'403 Access Denied',"],[0,"\r\n "]],"start1":425,"start2":425,"length1":17,"length2":36},{"diffs":[[0," "],[1,"403\r\n"],[0," "],[-1,"uri"],[0," "],[-1,": uri,\r\n"],[1," "],[0," "]],"start1":475,"start2":475,"length1":28,"length2":23},{"diffs":[[0," "],[1,");\r\n"],[0," "]],"start1":488,"start2":488,"length1":32,"length2":36},{"diffs":[[0," "],[-1,"filename: filename"],[1," return;"],[0,"\r\n "]],"start1":522,"start2":522,"length1":26,"length2":17},{"diffs":[[0,"\n "],[1," }\r\n"],[0," }\r\n "]],"start1":536,"start2":536,"length1":32,"length2":36},{"diffs":[[0," }\r\n "],[-1,"}"],[1," "],[0,"\r\n "]],"start1":549,"start2":549,"length1":33,"length2":39},{"diffs":[[0," "],[1,"var filename = path.join(\r\n "],[0," "],[-1,");\r\n"],[0," "]],"start1":578,"start2":578,"length1":32,"length2":59},{"diffs":[[0," "],[1,"process.cwd(), "],[0,"\r\n "]],"start1":625,"start2":625,"length1":32,"length2":47},{"diffs":[[0," "],[-1,"//Do not allow access to Dirs"],[1," uri"],[0,"\r\n "]],"start1":670,"start2":670,"length1":37,"length2":19},{"diffs":[[0," "],[-1,"if (!filename){"],[1," );"],[0,"\r\n "]],"start1":699,"start2":699,"length1":23,"length2":14},{"diffs":[[0," "],[-1,"serve"],[1,"console.log"],[0,"(\r\n "]],"start1":715,"start2":715,"length1":37,"length2":43},{"diffs":[[0," "],[-1,"'403 Access Denied',\r\n"],[1,"{\r\n "],[0," "]],"start1":761,"start2":761,"length1":38,"length2":27},{"diffs":[[0," "],[1,"uri"],[0," "],[-1,"403"],[1," : uri,"],[0,"\r\n "]],"start1":784,"start2":784,"length1":39,"length2":46},{"diffs":[[0," "],[-1,");"],[1," filename: filename"],[0,"\r\n "]],"start1":820,"start2":820,"length1":34,"length2":58},{"diffs":[[0," "],[-1,"return;"],[1," }"],[0,"\r\n "]],"start1":868,"start2":868,"length1":39,"length2":37},{"diffs":[[0," "],[-1,"}"],[1," );"],[0,"\r\n "]],"start1":891,"start2":891,"length1":33,"length2":38}]],"length":2985,"saved":false}
+{"ts":1377117698165,"patch":[[{"diffs":[[0," if (uri"],[1,"=='/'"],[0,"){\r\n "]],"start1":369,"start2":369,"length1":16,"length2":21},{"diffs":[[0," "],[-1,"serve(\r\n '403 Access Denied',\r\n 403\r\n );\r\n return;\r\n }"],[1,"uri=conf.server.index;"],[0,"\r\n "]],"start1":402,"start2":402,"length1":161,"length2":30},{"diffs":[[0," "],[-1," "],[0,"process."]],"start1":503,"start2":503,"length1":20,"length2":16},{"diffs":[[0," "],[-1," "],[-1," "],[0,"uri\r\n"],[-1," "],[0," "]],"start1":544,"start2":544,"length1":21,"length2":13},{"diffs":[[0," "],[1,"\r\n "],[1," "],[0," console."]],"start1":577,"start2":577,"length1":24,"length2":38},{"diffs":[[0," "],[-1," {\r\n "],[1,"{\r\n"],[0," "]],"start1":637,"start2":637,"length1":18,"length2":11},{"diffs":[[0," "],[-1," "],[0,"uri "]],"start1":660,"start2":660,"length1":17,"length2":16},{"diffs":[[0,": uri,\r\n"],[-1," "],[0," "]],"start1":676,"start2":676,"length1":20,"length2":16},{"diffs":[[0," "],[-1," }\r\n "],[1,"}\r\n"],[0," "]],"start1":736,"start2":736,"length1":35,"length2":27}]],"length":2841,"saved":false}
+{"ts":1377117809212,"patch":[[{"diffs":[[0,"ri=='/')"],[-1,"{"],[0,"\r\n "]],"start1":375,"start2":375,"length1":17,"length2":16}]],"length":2840,"saved":false}
+{"ts":1377117869733,"patch":[[{"diffs":[[0,"Config()"],[1,",\r\n Worker = require('webworker-threads').Worker"],[0,";\r\n \r"]],"start1":169,"start2":169,"length1":16,"length2":68}]],"length":2892,"saved":false}
+{"ts":1377118015472,"patch":[[{"diffs":[[0,"esponse) {\r\n"],[1," var httpWorker = new Worker(\r\n serveFile\r\n );\r\n \r\n httpWorker.onmessage=fileServed;\r\n httpWorker.postMessage(request, response);\r\n"],[0," (\r\n "]],"start1":298,"start2":298,"length1":24,"length2":201}]],"length":3069,"saved":false}
+{"contributors":[],"silentsave":false,"ts":1377119552517,"patch":[[{"diffs":[[0,"ire('../"],[-1,""],[0,""],[1,"../"],[0,"config/h"]],"start1":127,"start2":127,"length1":16,"length2":19},{"diffs":[[0," "],[-1,"serveFile\r\n );\r\n \r\n httpWorker.onmessage=fileServed;\r\n httpWorker.postMessage(request, response);\r\n (\r\n function(){\r\n var uri = url.parse(request.url).pathname;\r\n if (uri=='/')\r\n uri=conf.server.index;\r\n \r\n var filename = path.join(\r\n process.cwd(), \r\n uri\r\n );\r\n \r\n console.log(\r\n {\r\n uri : uri,\r\n filename: filename\r\n }\r\n );\r\n \r\n fs.exists(\r\n filename,\r\n serveFile\r\n );\r\n }\r\n )"],[1,"__dirname+'/workers/httpWorker.js'\r\n );\r\n \r\n httpWorker.postMessage"],[0,"(req"]],"start1":359,"start2":359,"length1":799,"length2":96},{"diffs":[[0,"request,"],[1," "],[0,"response"]],"start1":452,"start2":452,"length1":16,"length2":17},{"diffs":[[0," return;\r\n}"],[1,"\r\n\r\nfunction requestRecieved(request,response){\r\n var uri = url.parse(request.url).pathname;\r\n if (uri=='/')\r\n uri=conf.server.index;\r\n \r\n var filename = path.join(\r\n process.cwd(), \r\n uri\r\n );\r\n \r\n console.log(\r\n {\r\n uri : uri,\r\n filename: filename\r\n }\r\n );\r\n \r\n fs.exists(\r\n filename,\r\n serveFile\r\n );\r\n}"]],"start1":2358,"start2":2358,"length1":12,"length2":426}]],"length":2784,"saved":false}
+{"ts":1377119570139,"patch":[[{"diffs":[[0," "],[-1,"function(request, response) {\r\n var httpWorker = new Worker(\r\n __dirname+'/workers/httpWorker.js'\r\n );\r\n \r\n httpWorker.postMessage(request, response);\r\n }"],[1,"requestRecieved"],[0,"\r\n)."]],"start1":278,"start2":278,"length1":204,"length2":23}]],"length":2603,"saved":false}
+{"ts":1377119655852,"patch":[[{"diffs":[[0,"(exists) {\r\n"],[1," console.log(request);\r\n"],[0," if(!exis"]],"start1":341,"start2":341,"length1":24,"length2":51}]],"length":2630,"saved":false}
+{"ts":1377119671909,"patch":[[{"diffs":[[0," {\r\n"],[-1," console.log(request);\r\n"],[0," "]],"start1":349,"start2":349,"length1":35,"length2":8}]],"length":2603,"saved":false}
+{"ts":1377119698279,"patch":[[{"diffs":[[0," \r\n"],[-1," console.log(\r\n {\r\n uri : uri,\r\n filename: filename\r\n }\r\n );\r\n \r\n"],[0," "]],"start1":2422,"start2":2422,"length1":122,"length2":8}]],"length":2489,"saved":false}
+{"ts":1377119704865,"patch":[[{"diffs":[[0," uri="],[1,"'/'+"],[0,"conf.ser"]],"start1":2309,"start2":2309,"length1":16,"length2":20}]],"length":2493,"saved":false}
+{"ts":1377119728981,"patch":[[{"diffs":[[0," );\r\n \r\n"],[1," (\r\n function(){\r\n "],[0," fs.exist"]],"start1":2418,"start2":2418,"length1":24,"length2":60},{"diffs":[[0,"xists(\r\n "],[1," "],[1," "],[0,"filename,\r\n "]],"start1":2474,"start2":2474,"length1":32,"length2":40},{"diffs":[[0,"e,\r\n "],[1," "],[1," "],[0,"serveFile\r\n "]],"start1":2505,"start2":2505,"length1":24,"length2":32},{"diffs":[[0,"veFile\r\n"],[1," );\r\n }\r\n"],[0," );\r\n"]],"start1":2528,"start2":2528,"length1":16,"length2":43}]],"length":2572,"saved":false}
+{"ts":1377119752074,"patch":[[{"diffs":[[0," );\r\n }\r\n "],[1,")(request,response"],[0,");\r\n}"]],"start1":2543,"start2":2543,"length1":29,"length2":47}]],"length":2590,"saved":false}
+{"ts":1377119792761,"patch":[[{"diffs":[[0,"(exists) {\r\n"],[1," console.log(request)\r\n"],[0," if(!exis"]],"start1":341,"start2":341,"length1":24,"length2":50}]],"length":2616,"saved":false}
+{"ts":1377119845606,"patch":[[{"diffs":[[0,"unction(){\r\n"],[1," console.log(request)\r\n"],[0," "]],"start1":2472,"start2":2472,"length1":24,"length2":58}]],"length":2650,"saved":false}
+{"ts":1377119887784,"patch":[[{"diffs":[[0," "],[-1,"console.log(request)\r\n"],[1,"fs.exists(\r\n "],[0," "]],"start1":2488,"start2":2488,"length1":38,"length2":30},{"diffs":[[0," "],[-1,"fs.exists("],[1," filename,"],[0,"\r\n "]],"start1":2510,"start2":2510,"length1":34,"length2":35},{"diffs":[[0," f"],[-1,"ilename,\r\n"],[1,"unction(exists){\r\n "],[0," "]],"start1":2540,"start2":2540,"length1":34,"length2":46},{"diffs":[[0,"erveFile"],[1,"(exists)\r\n }"],[0,"\r\n "]],"start1":2591,"start2":2591,"length1":16,"length2":43}]],"length":2682,"saved":false}
+{"ts":1377119924784,"patch":[[{"diffs":[[0," \r\n"],[-1," (\r\n function(){\r\n "],[0," "]],"start1":2452,"start2":2452,"length1":44,"length2":8},{"diffs":[[0,"s(\r\n "],[-1," "],[-1," "],[0,"filename,\r\n "]],"start1":2468,"start2":2468,"length1":32,"length2":24},{"diffs":[[0," filename,\r\n"],[-1," "],[0," func"]],"start1":2479,"start2":2479,"length1":32,"length2":24},{"diffs":[[0," "],[-1," "],[-1," "],[0,"serveFile(ex"]],"start1":2518,"start2":2518,"length1":32,"length2":24},{"diffs":[[0," "],[1,"}\r\n"],[0," "],[-1," }\r\n );\r\n }\r\n )(request,response"],[0,");\r\n"]],"start1":2553,"start2":2553,"length1":68,"length2":15}]],"length":2569,"saved":false}
+{"ts":1377119937578,"patch":[[{"diffs":[[0,"e(exists"],[1,",request,response"],[0,")\r\n "]],"start1":2538,"start2":2538,"length1":16,"length2":33}]],"length":2586,"saved":false}
+{"ts":1377119945966,"patch":[[{"diffs":[[0,"eFile(exists"],[1,",request,response"],[0,") {\r\n con"]],"start1":336,"start2":336,"length1":24,"length2":41}]],"length":2603,"saved":false}
+{"ts":1377119961822,"patch":[[{"diffs":[[0," {\r\n"],[-1," console.log(request)\r\n"],[0," "]],"start1":366,"start2":366,"length1":34,"length2":8}]],"length":2577,"saved":false}
+{"ts":1377119981584,"patch":[[{"diffs":[[0,"e(exists"],[-1,",request,response"],[0,") {\r\n "]],"start1":340,"start2":340,"length1":33,"length2":16}]],"length":2560,"saved":false}
+{"ts":1377120002557,"patch":[[{"diffs":[[0," "],[-1,"serveFile(exists,"],[1,"(function(){\r\n serveFile(exists)\r\n })("],[0,"requ"]],"start1":2500,"start2":2500,"length1":25,"length2":68}]],"length":2603,"saved":false}
+{"ts":1377120026789,"patch":[[{"diffs":[[0,"(exists) {\r\n"],[1," console.log(response)\r\n"],[0," if(!exis"]],"start1":341,"start2":341,"length1":24,"length2":51}]],"length":2630,"saved":false}
+{"ts":1377120073564,"patch":[[{"diffs":[[0,"ists"],[-1,") {\r\n console.log("],[1,",request,"],[0,"resp"]],"start1":344,"start2":344,"length1":29,"length2":17},{"diffs":[[0,"st,response)"],[1," {"],[0,"\r\n if(!ex"]],"start1":354,"start2":354,"length1":24,"length2":26},{"diffs":[[0," "],[-1,"(function(){\r\n serveFile(exists)\r\n })(request"],[1,"serveFile(exists"],[0,",res"]],"start1":2517,"start2":2517,"length1":75,"length2":24}]],"length":2569,"saved":false}
+{"ts":1377120085752,"patch":[[{"diffs":[[0,"(exists,"],[-1,"request,"],[0,"response"]],"start1":341,"start2":341,"length1":24,"length2":16}]],"length":2561,"saved":false}
+{"ts":1377120150088,"patch":[[{"diffs":[[0," serve(\r\n"],[1," response,\r\n"],[0," '404"]],"start1":381,"start2":381,"length1":32,"length2":55},{"diffs":[[0,"'404 MIA',\r\n"],[-1,""],[0," "]],"start1":432,"start2":432,"length1":24,"length2":24},{"diffs":[[0," serve(\r\n"],[1," response,\r\n"],[0," '415"]],"start1":624,"start2":624,"length1":32,"length2":55},{"diffs":[[0," serve(\r\n"],[1," response,\r\n"],[0," '415"]],"start1":842,"start2":842,"length1":32,"length2":55},{"diffs":[[0," serve(\r\n"],[1," response,\r\n"],[0," '403"]],"start1":1152,"start2":1152,"length1":32,"length2":55},{"diffs":[[0," serve(\r\n"],[1," response,\r\n"],[0," "]],"start1":1412,"start2":1412,"length1":32,"length2":63},{"diffs":[[0," serve(\r\n"],[1," response,\r\n"],[0," "]],"start1":1695,"start2":1695,"length1":32,"length2":59},{"diffs":[[0,"}\r\n );\r\n}\r\n\r\n"],[-1,""],[0,"function serve(b"]],"start1":1880,"start2":1880,"length1":32,"length2":32},{"diffs":[[0,"n serve("],[1,"response,"],[0,"body,sta"]],"start1":1903,"start2":1903,"length1":16,"length2":25}]],"length":2720,"saved":false}
+{"ts":1377120368175,"patch":[[{"diffs":[[0," serveFile("],[1,"filename,"],[0,"exists,response)"]],"start1":2666,"start2":2666,"length1":32,"length2":41}]],"length":2729,"saved":false}
+{"ts":1377120376555,"patch":[[{"diffs":[[0,"rveFile("],[1,"filename,"],[0,"exists,r"]],"start1":334,"start2":334,"length1":16,"length2":25}]],"length":2738,"saved":false}
+{"ts":1377120488205,"patch":[[{"diffs":[[0,"me);\r\n \r\n"],[1," console.log(contentType)\r\n \r\n"],[0," //Only s"]],"start1":553,"start2":553,"length1":24,"length2":60}]],"length":2774,"saved":false}
+{"ts":1377120529817,"patch":[[{"diffs":[[0,"ame)"],[-1,";\r\n \r\n console.log(contentType)"],[1,".slice(1);"],[0,"\r\n "]],"start1":552,"start2":552,"length1":45,"length2":18}]],"length":2747,"saved":false}
+{"ts":1377120767769,"patch":[[{"diffs":[[0,"ig()"],[-1,",\r\n Worker = require('webworker-threads').Worker"],[0,";\r\n "]],"start1":176,"start2":176,"length1":60,"length2":8}]],"length":2695,"saved":false}
+{"ts":1377121164377,"patch":[[{"diffs":[[0," "],[-1,"process.cwd()"],[1,"conf.rootDIR"],[0,", \r\n"]],"start1":2516,"start2":2516,"length1":21,"length2":20}]],"length":2694,"saved":false}