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

Impressum / About Us