Monday, November 08, 2010 at 12:07 AM.
system.verbs.builtins.webserver.util.setCookie
on setCookie (adrParams, cookieName, cookieValue, cookieDomain="", cookieExpires="", cookiePath="/", flSecure=false) { <<10/8/99; 6:47:12 AM by DW <<New routine, encapsulates as much special knowledge as we can about creating cookies. <<We read this spec carefully while writing this: http://home.netscape.com/newsref/std/cookie_spec.html <<10/13/99; 6:57:13 AM by DW <<If cookieExpires is a date, we do the date-to-string conversion for you, per the Netscape spec. <<http://frontier.userland.com/discuss/msgReader$1869 local (s = cookieName + "=" + string.urlEncode (cookieValue)); if cookieDomain != "" { s = s + "; domain=" + cookieDomain}; if typeOf (cookieExpires) == dateType { //10/13/99; 6:57:13 AM by DW cookieExpires = date.netStandardString (cookieExpires); cookieExpires [8] = '-'; cookieExpires [12] = '-'}; if sizeof (cookieExpires) > 0 { s = s + "; expires=" + cookieExpires}; if sizeof (cookiePath) > 0 { s = s + "; path=" + cookiePath}; if flSecure { s = s + "; secure"}; bundle { //set the cookie in adrParams local (adrcookie = @adrParams^.responseHeaders.["Set-Cookie"]); if defined (adrcookie^) { adrcookie^ = adrcookie^ + "\r\n" + s} else { adrcookie^ = s}}; return (s)} <<bundle //test code <<local (params) <<new (tabletype, @params) <<new (tabletype, @params.responseHeaders) <<clipboard.putvalue (webserver.util.setCookie (@params, "test cookie", "12345", cookieExpires: date ("4/1/2034")))
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.