plugins/mod_storage_none.lua
author Matthew Wild <mwild1@gmail.com>
Mon, 20 Feb 2023 18:10:15 +0000
branch0.12
changeset 12898 0598d822614f
parent 8064 ef671d337577
permissions -rw-r--r--
mod_websocket: Fire pre-session-close event (fixes #1800) This event was added in a7c183bb4e64 and is required to make mod_smacks know that a session was intentionally closed and shouldn't be hibernated (see fcea4d9e7502). Because this was missing from mod_websocket's session.close(), mod_smacks would always attempt to hibernate websocket sessions even if they closed cleanly. That mod_websocket has its own copy of session.close() is something to fix another day (probably not in the stable branch). So for now this commit makes the minimal change to get things working again. Thanks to Damian and the Jitsi team for reporting.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8061
1b35a562528d mod_storage_none: Ignore unused arguments [luacheck]
Kim Alvefur <zash@zash.se>
parents: 6283
diff changeset
     1
-- luacheck: ignore 212
1b35a562528d mod_storage_none: Ignore unused arguments [luacheck]
Kim Alvefur <zash@zash.se>
parents: 6283
diff changeset
     2
5425
b00812c6daf8 mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     3
local driver = {};
b00812c6daf8 mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     4
local driver_mt = { __index = driver };
b00812c6daf8 mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
     5
6283
7cf6d3a2c855 mod_storage_{none,internal,sql}: Return error for unsupported (everything but keyval) store types
Kim Alvefur <zash@zash.se>
parents: 5425
diff changeset
     6
function driver:open(store, typ)
8062
6a725b242804 mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents: 8061
diff changeset
     7
	if typ and typ ~= "keyval" and typ ~= "archive" then
6283
7cf6d3a2c855 mod_storage_{none,internal,sql}: Return error for unsupported (everything but keyval) store types
Kim Alvefur <zash@zash.se>
parents: 5425
diff changeset
     8
		return nil, "unsupported-store";
7cf6d3a2c855 mod_storage_{none,internal,sql}: Return error for unsupported (everything but keyval) store types
Kim Alvefur <zash@zash.se>
parents: 5425
diff changeset
     9
	end
7cf6d3a2c855 mod_storage_{none,internal,sql}: Return error for unsupported (everything but keyval) store types
Kim Alvefur <zash@zash.se>
parents: 5425
diff changeset
    10
	return setmetatable({ store = store, type = typ }, driver_mt);
5425
b00812c6daf8 mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    11
end
b00812c6daf8 mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    12
function driver:get(user)
b00812c6daf8 mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    13
	return {};
b00812c6daf8 mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    14
end
b00812c6daf8 mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    15
b00812c6daf8 mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    16
function driver:set(user, data)
b00812c6daf8 mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    17
	return nil, "Storage disabled";
b00812c6daf8 mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    18
end
b00812c6daf8 mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    19
b00812c6daf8 mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    20
function driver:stores(username)
b00812c6daf8 mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    21
	return { "roster" };
b00812c6daf8 mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    22
end
b00812c6daf8 mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    23
b00812c6daf8 mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    24
function driver:purge(user)
b00812c6daf8 mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    25
	return true;
b00812c6daf8 mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    26
end
b00812c6daf8 mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    27
8062
6a725b242804 mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents: 8061
diff changeset
    28
function driver:append()
6a725b242804 mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents: 8061
diff changeset
    29
	return nil, "Storage disabled";
6a725b242804 mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents: 8061
diff changeset
    30
end
6a725b242804 mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents: 8061
diff changeset
    31
6a725b242804 mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents: 8061
diff changeset
    32
function driver:find()
6a725b242804 mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents: 8061
diff changeset
    33
	return function () end, 0;
6a725b242804 mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents: 8061
diff changeset
    34
end
6a725b242804 mod_storage_none: Add allways empty archive storage
Kim Alvefur <zash@zash.se>
parents: 8061
diff changeset
    35
8064
ef671d337577 mod_storage_none: Add a noop archive delete method
Kim Alvefur <zash@zash.se>
parents: 8062
diff changeset
    36
function driver:delete()
ef671d337577 mod_storage_none: Add a noop archive delete method
Kim Alvefur <zash@zash.se>
parents: 8062
diff changeset
    37
	return true;
ef671d337577 mod_storage_none: Add a noop archive delete method
Kim Alvefur <zash@zash.se>
parents: 8062
diff changeset
    38
end
ef671d337577 mod_storage_none: Add a noop archive delete method
Kim Alvefur <zash@zash.se>
parents: 8062
diff changeset
    39
5425
b00812c6daf8 mod_storage_none: A null-like storage provider that returns all stores as empty, and fails to save anything to them
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
    40
module:provides("storage", driver);