summaryrefslogtreecommitdiff
path: root/.c9revisions/server/http/http.js.c9save
blob: e909ef43ab59bb1a0e73764e20940bcad9539042 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
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}