Quellcode durchsuchen

Remove data base logging from the websocket example. Do not serve regular (non websocket) requests with websocket.lua

bel vor 11 Jahren
Ursprung
Commit
378722090a
1 geänderte Dateien mit 15 neuen und 32 gelöschten Zeilen
  1. 15 32
      test/websocket.lua

+ 15 - 32
test/websocket.lua

@@ -1,58 +1,41 @@
--- Open database
-local db = sqlite3.open('r:\\websockLog.db')
-
-if db then
-  db:busy_timeout(200);
-  -- Create a table if it is not created already
-  db:exec([[
-    CREATE TABLE IF NOT EXISTS requests (
-      id INTEGER PRIMARY KEY AUTOINCREMENT,
-      timestamp NOT NULL,
-      method NOT NULL,
-      uri NOT NULL,
-      addr
-    );
-  ]])
-end
 
+function iswebsocket()
+  return pcall(function()
+    if (string.upper(mg.request_info.http_headers.Upgrade)~="WEBSOCKET") then error("") end
+  end)
+end
 
-local function logDB(method)
-  -- Add entry about this request
-  local r;
-  repeat
-    r = db:exec([[INSERT INTO requests VALUES(NULL, datetime("now"), "]] .. method .. [[", "]] .. mg.request_info.uri .. [[", "]] .. mg.request_info.remote_port .. [[");]]);
-  until r~=5;
+if not iswebsocket() then
+  mg.write("HTTP/1.0 403 Forbidden\r\n")
+  mg.write("Connection: close\r\n")
+  mg.write("\r\n")
+  return
 end
 
 
 -- Callback for "Websocket ready"
 function ready()
-  logDB("WEBSOCKET READY")
   mg.write("text", "Websocket ready")
 end
 
 -- Callback for "Websocket received data"
 function data(bits, content)
-    logDB(string.format("WEBSOCKET DATA (%x)", bits))
-    mg.write("text", os.date())
-    return true;
 end
 
 -- Callback for "Websocket is closing"
 function close()
-  logDB("WEBSOCKET CLOSE")
-  -- Close database
-  db:close()
 end
 
 
--- Websocket with coroutines
-logDB("WEBSOCKET PREPARE")
-
 coroutine.yield(true); -- first yield returns (true) or (false) to accept or reject the connection
+
 ready()
+
 repeat
     local cont, bits, content = coroutine.yield(true, 1.0)
+
+    mg.write("text", os.date());
+
     if bits and content then
         data(bits, content)
     end