I tried to narrow down the case, and it appears something is wrong with my app, because this works:
import web
web.config.debug = False
urls = '/', 'SetValue', '/getvalue', 'GetValue'
app = web.application(urls, globals())
store = web.session.DiskStore('sessions')
session = web.session.Session(app, store)
class SetValue:
def GET(self):
web.setcookie("param", "some-kind-of-cookie-value")
session.param = "some-kind-of-session-value"
raise web.seeother("/getvalue")
class GetValue:
def GET(self):
return "Got cookie value: " + web.cookies().param + "\n" + \
"And session value: " + session.param
if __name__ == "__main__":
b = app.browser()
b.open("/")
assert b.path == "/getvalue"
assert "some-kind-of-cookie-value" in b.get_text()
assert "some-kind-of-session-value" in b.get_text()