webmcp
changeset 260:f491011ebe16
Work on __init.lua files to support handling multiple requests per connect
author | jbe |
---|---|
date | Sun Mar 15 01:20:06 2015 +0100 (2015-03-15) |
parents | 41be09ce6aa3 |
children | 343f9af7f61f |
files | framework/env/charset/__init.lua framework/env/locale/__init.lua framework/env/param/__init.lua framework/env/slot/__init.lua framework/env/slot/reset_all.lua |
line diff
1.1 --- a/framework/env/charset/__init.lua Sun Mar 15 01:14:21 2015 +0100 1.2 +++ b/framework/env/charset/__init.lua Sun Mar 15 01:20:06 2015 +0100 1.3 @@ -1,1 +1,1 @@ 1.4 -charset._current = "UTF-8" 1.5 +request.add_variable(charset, "_current", "UTF-8")
2.1 --- a/framework/env/locale/__init.lua Sun Mar 15 01:14:21 2015 +0100 2.2 +++ b/framework/env/locale/__init.lua Sun Mar 15 01:20:06 2015 +0100 2.3 @@ -1,4 +1,4 @@ 2.4 -locale._current_data = {} 2.5 +request.add_variable(locale, "_current_data", {}) 2.6 locale._translation_tables = {} 2.7 locale._empty_translation_table = {} 2.8
3.1 --- a/framework/env/param/__init.lua Sun Mar 15 01:14:21 2015 +0100 3.2 +++ b/framework/env/param/__init.lua Sun Mar 15 01:20:06 2015 +0100 3.3 @@ -1,2 +1,4 @@ 3.4 -param._exchanged = false -- important to be false, not nil 3.5 -param._saved = {} -- stack 3.6 +request.add_initializer(function() 3.7 + param._exchanged = false -- important to be false, not nil 3.8 + param._saved = {} -- stack 3.9 +end)
4.1 --- a/framework/env/slot/__init.lua Sun Mar 15 01:14:21 2015 +0100 4.2 +++ b/framework/env/slot/__init.lua Sun Mar 15 01:20:06 2015 +0100 4.3 @@ -1,10 +1,10 @@ 4.4 -slot._data_metatable = {} 4.5 -function slot._data_metatable:__index(key) 4.6 - self[key] = { string_fragments = {}, state_table = {} } 4.7 - return self[key] 4.8 +request.add_variable(slot, "_active_slot", "default") 4.9 +request.add_variable(slot, "_current_layout", "default") 4.10 +request.add_variable(slot, "_content_type", nil) 4.11 + 4.12 +request.add_initializer(function() 4.13 + 4.14 + slot._data = nil 4.15 + slot.reset_all() 4.16 + 4.17 end 4.18 -slot._active_slot = 'default' 4.19 -slot._current_layout = 'default' 4.20 -slot._content_type = nil 4.21 - 4.22 -slot.reset_all()
5.1 --- a/framework/env/slot/reset_all.lua Sun Mar 15 01:14:21 2015 +0100 5.2 +++ b/framework/env/slot/reset_all.lua Sun Mar 15 01:20:06 2015 +0100 5.3 @@ -7,6 +7,12 @@ 5.4 5.5 --]]-- 5.6 5.7 +local data_metatable = {} 5.8 +function data_metatable:__index(key) 5.9 + self[key] = { string_fragments = {}, state_table = {} } 5.10 + return self[key] 5.11 +end 5.12 + 5.13 function slot.reset_all(args) 5.14 local saved 5.15 if args and args.except then 5.16 @@ -15,7 +21,7 @@ 5.17 saved[key] = slot._data[key] 5.18 end 5.19 end 5.20 - slot._data = setmetatable({}, slot._data_metatable) 5.21 + slot._data = setmetatable({}, data_metatable) 5.22 if saved then 5.23 for key, value in pairs(saved) do 5.24 slot._data[key] = value