webmcp
annotate framework/env/tempstore/save.lua @ 28:ea2e8f3a2776
allow webmcp path to be set in cgi script
this allows another script to include the webmcp script when the cwd is not the cgi-bin. the script needs to set the WEBMCP_PATH variable.
this allows another script to include the webmcp script when the cwd is not the cgi-bin. the script needs to set the WEBMCP_PATH variable.
| author | Daniel Poelzleithner <poelzi@poelzi.org> |
|---|---|
| date | Sun Sep 19 01:36:08 2010 +0200 (2010-09-19) |
| 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 |