webmcp

annotate framework/env/request/set_cookie.lua @ 72:c2716baffa64

Added tag v1.2.0 for changeset 8b487a14414c
author jbe
date Sat Apr 21 20:48:58 2012 +0200 (2012-04-21)
parents 944642a3e488
children 32ec28229bb5
rev   line source
jbe/bsw@16 1 --[[--
jbe/bsw@16 2 request.set_cookie{
jbe/bsw@16 3 name = name, -- name of cookie
jbe/bsw@16 4 value = value, -- value of cookie
jbe/bsw@16 5 domain = domain, -- optional domain domain where cookie is transmitted
jbe/bsw@16 6 path = path, -- optional path where cookie is transmitted, defaults to application base
jbe/bsw@16 7 secure = secure -- optional boolean, indicating if cookie should only be transmitted over HTTPS
jbe/bsw@16 8 }
jbe/bsw@16 9
jbe/bsw@16 10 This function is similar to rocketwiki.set_cookie{...}, except that it automatically sets the path to the application base. It also sets secure=true, if the secure option is unset and the application base URL starts with "https://".
jbe/bsw@16 11
jbe/bsw@16 12 --]]--
jbe/bsw@16 13
jbe/bsw@16 14 function request.set_cookie(args)
jbe/bsw@16 15 local path = args.path
jbe/bsw@16 16 if not path then
jbe/bsw@16 17 path = string.match(
jbe/bsw@16 18 request.get_absolute_baseurl(),
jbe/bsw@16 19 "://[^/]*(.*)"
jbe/bsw@16 20 )
jbe/bsw@16 21 if path == nil or path == "" then
jbe/bsw@16 22 path = "/"
jbe/bsw@16 23 end
jbe/bsw@16 24 end
jbe/bsw@16 25 local secure = args.secure
jbe/bsw@16 26 if secure == nil then
jbe/bsw@16 27 if string.find(
jbe/bsw@16 28 string.lower(request.get_absolute_baseurl()),
jbe/bsw@16 29 "^https://"
jbe/bsw@16 30 ) then
jbe/bsw@16 31 secure = true
jbe/bsw@16 32 else
jbe/bsw@16 33 secure = false
jbe/bsw@16 34 end
jbe/bsw@16 35 end
jbe/bsw@16 36 cgi.set_cookie{
jbe/bsw@16 37 name = args.name,
jbe/bsw@16 38 value = args.value,
jbe/bsw@16 39 domain = args.domain,
jbe/bsw@16 40 path = path,
jbe/bsw@16 41 secure = secure
jbe/bsw@16 42 }
jbe/bsw@16 43 end

Impressum / About Us