# HG changeset patch # User jbe # Date 1426378806 -3600 # Node ID f491011ebe1629505eff2484a0dfbd753b0f147a # Parent 41be09ce6aa3faf8ebf2d47331c3d0cd591f4042 Work on __init.lua files to support handling multiple requests per connect diff -r 41be09ce6aa3 -r f491011ebe16 framework/env/charset/__init.lua --- a/framework/env/charset/__init.lua Sun Mar 15 01:14:21 2015 +0100 +++ b/framework/env/charset/__init.lua Sun Mar 15 01:20:06 2015 +0100 @@ -1,1 +1,1 @@ -charset._current = "UTF-8" +request.add_variable(charset, "_current", "UTF-8") diff -r 41be09ce6aa3 -r f491011ebe16 framework/env/locale/__init.lua --- a/framework/env/locale/__init.lua Sun Mar 15 01:14:21 2015 +0100 +++ b/framework/env/locale/__init.lua Sun Mar 15 01:20:06 2015 +0100 @@ -1,4 +1,4 @@ -locale._current_data = {} +request.add_variable(locale, "_current_data", {}) locale._translation_tables = {} locale._empty_translation_table = {} diff -r 41be09ce6aa3 -r f491011ebe16 framework/env/param/__init.lua --- a/framework/env/param/__init.lua Sun Mar 15 01:14:21 2015 +0100 +++ b/framework/env/param/__init.lua Sun Mar 15 01:20:06 2015 +0100 @@ -1,2 +1,4 @@ -param._exchanged = false -- important to be false, not nil -param._saved = {} -- stack +request.add_initializer(function() + param._exchanged = false -- important to be false, not nil + param._saved = {} -- stack +end) diff -r 41be09ce6aa3 -r f491011ebe16 framework/env/slot/__init.lua --- a/framework/env/slot/__init.lua Sun Mar 15 01:14:21 2015 +0100 +++ b/framework/env/slot/__init.lua Sun Mar 15 01:20:06 2015 +0100 @@ -1,10 +1,10 @@ -slot._data_metatable = {} -function slot._data_metatable:__index(key) - self[key] = { string_fragments = {}, state_table = {} } - return self[key] +request.add_variable(slot, "_active_slot", "default") +request.add_variable(slot, "_current_layout", "default") +request.add_variable(slot, "_content_type", nil) + +request.add_initializer(function() + + slot._data = nil + slot.reset_all() + end -slot._active_slot = 'default' -slot._current_layout = 'default' -slot._content_type = nil - -slot.reset_all() diff -r 41be09ce6aa3 -r f491011ebe16 framework/env/slot/reset_all.lua --- a/framework/env/slot/reset_all.lua Sun Mar 15 01:14:21 2015 +0100 +++ b/framework/env/slot/reset_all.lua Sun Mar 15 01:20:06 2015 +0100 @@ -7,6 +7,12 @@ --]]-- +local data_metatable = {} +function data_metatable:__index(key) + self[key] = { string_fragments = {}, state_table = {} } + return self[key] +end + function slot.reset_all(args) local saved if args and args.except then @@ -15,7 +21,7 @@ saved[key] = slot._data[key] end end - slot._data = setmetatable({}, slot._data_metatable) + slot._data = setmetatable({}, data_metatable) if saved then for key, value in pairs(saved) do slot._data[key] = value