webmcp
annotate framework/env/tempstore/save.lua @ 40:ed00b972f40e
Allow mondelefant.connect to be called with an explicit "conninfo" string
| author | jbe | 
|---|---|
| date | Sat Oct 16 17:49:11 2010 +0200 (2010-10-16) | 
| parents | 9fdfb27f8e67 | 
| children | 2cb27106aa73 | 
| rev | line source | 
|---|---|
| jbe/bsw@0 | 1 --[[-- | 
| jbe/bsw@0 | 2 key = -- key to be used with tempstore.pop(...) to regain the stored string | 
| jbe/bsw@0 | 3 tempstore.save( | 
| jbe/bsw@0 | 4 blob -- string to be stored | 
| jbe/bsw@0 | 5 ) | 
| jbe/bsw@0 | 6 | 
| jbe/bsw@0 | 7 This function stores data temporarily. It is used to restore slot information after a 303 HTTP redirect. It returns a key, which can be passed to tempstore.pop(...) to regain the stored data. | 
| jbe/bsw@0 | 8 | 
| jbe/bsw@0 | 9 --]]-- | 
| jbe/bsw@0 | 10 | 
| jbe/bsw@0 | 11 function tempstore.save(blob) | 
| jbe/bsw@0 | 12 local key = multirand.string(26, "123456789bcdfghjklmnpqrstvwxyz"); | 
| jbe/bsw@0 | 13 local filename = encode.file_path( | 
| jbe/bsw@0 | 14 request.get_app_basepath(), 'tmp', "tempstore-" .. key .. ".tmp" | 
| jbe/bsw@0 | 15 ) | 
| jbe/bsw@0 | 16 local file = assert(io.open(filename, "w")) | 
| jbe/bsw@0 | 17 file:write(blob) | 
| jbe/bsw@0 | 18 io.close(file) | 
| jbe/bsw@0 | 19 return key | 
| jbe/bsw@0 | 20 end |