本文整理汇总了Python中webob.Response.set_cookie方法的典型用法代码示例。如果您正苦于以下问题:Python Response.set_cookie方法的具体用法?Python Response.set_cookie怎么用?Python Response.set_cookie使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类webob.Response
的用法示例。
在下文中一共展示了Response.set_cookie方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: store
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import set_cookie [as 别名]
def store(self, req):
req.userid = self.get_userid(req)
auth = AuthDomain.from_request(req, self)
authorized = auth.without_lock
add_cookie = None
if authorized:
add_cookie = auth.add_authorization()
else:
authorized, add_cookie = auth.authorize()
if not authorized:
if auth.has_users():
resp = Response(
status=403,
body=open(os.path.join(here, 'login.html')).read())
else:
resp = exc.HTTPForbidden()
elif 'getlink' in req.params:
resp = Response(
content_type='application/json',
body=json.dumps(dict(url=auth.make_link())))
else:
resp = self.store_response(req, auth)
if add_cookie:
resp.set_cookie(add_cookie[0], add_cookie[1], max_age=datetime.timedelta(days=10 * 365))
if not req.userid and req.cookies.get(self.auth_app.cookie_name):
logger.debug('Invalid cookie: %r' % req.cookies.get(self.auth_app.cookie_name))
## Invalid cookie:
resp.delete_cookie(self.auth_app.cookie_name)
return resp
示例2: cookie_server
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import set_cookie [as 别名]
def cookie_server(environ, start_response):
request = Request(environ)
if "the-cookie" in request.cookies:
return Response(request.cookies["the-cookie"])(environ, start_response)
else:
response = Response(body="has your cookie")
response.set_cookie("the-cookie", str(uuid.uuid4()))
return response(environ, start_response)
示例3: bare_app
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import set_cookie [as 别名]
def bare_app(req):
resp = Response('ok')
if req.params.get('cookie') in ('secure', 'both'):
resp.set_cookie('foo', 'v', secure=True)
if req.params.get('cookie') in ('insecure', 'both'):
resp.set_cookie('bar', 'v', secure=False)
if req.params.get('cookie') == 'nonwebob':
resp.headers['Set-Cookie'] = 'baz=v; httponly; secure; Path=/;'
return resp
示例4: test_set_cookie_expires_is_None_and_max_age_is_int
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import set_cookie [as 别名]
def test_set_cookie_expires_is_None_and_max_age_is_int():
res = Response()
res.set_cookie('a', '1', max_age=100)
eq_(res.headerlist[-1][0], 'Set-Cookie')
val = [ x.strip() for x in res.headerlist[-1][1].split(';')]
assert len(val) == 4
val.sort()
eq_(val[0], 'Max-Age=100')
eq_(val[1], 'Path=/')
eq_(val[2], 'a=1')
assert val[3].startswith('expires')
示例5: bare_app
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import set_cookie [as 别名]
def bare_app(req):
s = '\n'.join(['%s: %s' % (k, v)
for k, v in req.cookies.items()])
resp = Response(s)
key = req.path_info_pop()
if key:
val = req.path_info_pop()
resp.set_cookie(key, val)
return resp
示例6: test_cookies
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import set_cookie [as 别名]
def test_cookies():
res = Response()
res.set_cookie('x', u'\N{BLACK SQUARE}') # test unicode value
eq_(res.headers.getall('set-cookie'), ['x="\\342\\226\\240"; Path=/']) # uft8 encoded
r2 = res.merge_cookies(simple_app)
r2 = BaseRequest.blank('/').get_response(r2)
eq_(r2.headerlist,
[('Content-Type', 'text/html; charset=utf8'),
('Set-Cookie', 'x="\\342\\226\\240"; Path=/'),
]
)
示例7: set_cookie
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import set_cookie [as 别名]
def set_cookie(req):
cookie_parms = {'path': None}
cookie_parms.update(dict((str(k), str(v)) for k, v in req.params.items()))
name = cookie_parms.pop('name')
value = cookie_parms.pop('value')
if 'max-age' in cookie_parms:
cookie_parms['max_age'] = int(cookie_parms.pop('max-age'))
if 'expires' in cookie_parms:
cookie_parms['expires'] = datetime.strptime(cookie_parms.pop('expires'), '%a, %d %b %Y %H:%M:%S GMT')
resp = Response()
resp.set_cookie(name, value, **cookie_parms)
return resp
示例8: test_set_cookie_expires_is_not_None_and_max_age_is_None
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import set_cookie [as 别名]
def test_set_cookie_expires_is_not_None_and_max_age_is_None():
import datetime
res = Response()
then = datetime.datetime.utcnow() + datetime.timedelta(days=1)
res.set_cookie('a', '1', expires=then)
eq_(res.headerlist[-1][0], 'Set-Cookie')
val = [ x.strip() for x in res.headerlist[-1][1].split(';')]
assert len(val) == 4
val.sort()
ok_(val[0] in ('Max-Age=86399', 'Max-Age=86400'))
eq_(val[1], 'Path=/')
eq_(val[2], 'a=1')
assert val[3].startswith('expires')
示例9: test_merge_cookies_resp_is_wsgi_callable
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import set_cookie [as 别名]
def test_merge_cookies_resp_is_wsgi_callable():
L = []
def dummy_wsgi_callable(environ, start_response):
L.append((environ, start_response))
return 'abc'
res = Response()
res.set_cookie('a', '1')
wsgiapp = res.merge_cookies(dummy_wsgi_callable)
environ = {}
def dummy_start_response(status, headers, exc_info=None):
eq_(headers, [('Set-Cookie', 'a=1; Path=/')])
result = wsgiapp(environ, dummy_start_response)
assert result == 'abc'
assert len(L) == 1
L[0][1]('200 OK', []) # invoke dummy_start_response assertion
示例10: hello_app_cookie
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import set_cookie [as 别名]
def hello_app_cookie(req):
r = Response(charset='UTF-8')
if 'name' in req.params:
name = req.params['name']
r.set_cookie('name', name)
elif 'name' in req.cookies:
name = req.cookies['name']
#r.delete_cookie('name')
else:
return form_app
r.unicode_body = u'Hello, %s!' % name
r.conditional_response = True
r.md5_etag()
return r
示例11: login
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import set_cookie [as 别名]
def login(self, environ, start_response):
req = Request(environ)
if req.method == "GET":
return Response("""
<form method="POST">
Username: <input type="text" name="username" />
<input type="submit" />
</form>""")(environ, start_response)
username = req.POST['username']
val = generate_cookie_value(username, get_secret(self.secret))
res = Response()
res.status = 304
res.location = "/"
res.set_cookie("__ac", val)
return res(environ, start_response)
示例12: __call__
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import set_cookie [as 别名]
def __call__(self, environ, start_response):
req = Request(environ)
res = Response(cache_control='no-cache', pragma='no-cache')
session = req.cookies.get(self.cookie_name, None)
if session is None:
session = gen_session()
res.set_cookie(
self.cookie_name, session,
max_age=self.cookie_max_age,
path='/')
self.send_event(session, req)
res.content_type = 'image/gif'
del res.charset
res.body = self._gif
return res(environ, start_response)
示例13: app
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import set_cookie [as 别名]
def app(environ, start_response):
req = Request(environ)
res = Response()
res.body =\
("""
<html>
<head><title>cookies</title></head>
<body>
<pre>Taste: [%s]</pre>
</body>
</html>
""" % req.cookies.get('taste')).encode('ascii')
if req.params.get('gimme'):
# Set a new cookie.
res.set_cookie('taste', 'yummy')
return res(environ, start_response)
示例14: __call__
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import set_cookie [as 别名]
def __call__(self, environ, start_response):
"""
Главный обработчик HTTP событий
"""
req = Request(environ)
# Список вторичных обработчиков запросов
# Для простоты регулярные выражения не используются
routes = { '/cw': self.index,
'/cw/login': self.login,
'/cw/logout': self.logout,
'/cw/cards': self.cards,
'/cw/set_payment_card': self.set_payment_card,
'/cw/paybot/cards': self.paybot_cards }
# Поиск вторичного обработчика события
if req.path_info in routes:
handler = routes[req.path_info]
else:
response = Response('Not found', status=404)
return response(environ, start_response)
# Проверка наличия авторизационного токена
token = None
if req.cookies.get('token'):
token = req.cookies['token']
# Вызов вторичного обработчика событий
page_tup = {}
try:
page_tup = handler(req, token)
page = page_tup['page']
except AssertionError as e:
page = 'Error {0}'.format(str(e.args))
# Подготовка HTTP ответа
response = Response(page, content_type='text/html')
if 'redirect_to' in page_tup:
response = req.get_response(HTTPTemporaryRedirect(location=page_tup['redirect_to']))
response.text = page
if 'set_cookies' in page_tup:
for cookie in page_tup['set_cookies']:
response.set_cookie(cookie[0], cookie[1], httponly=True)
return response(environ, start_response)
示例15: testCookieAdapters
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import set_cookie [as 别名]
def testCookieAdapters(self):
jar = CookieJar(policy=None) # DefaultCookiePolicy())
# set a cookie
res = Response()
tstval = str(uuid.uuid4())
res.set_cookie("a-cookie", tstval, domain="example.com")
cookies = jar.make_cookies(filters.ResponseCookieAdapter(res), Request.blank("http://example.com"))
for c in cookies:
jar.set_cookie(c)
self.assert_(len(jar), ("where's my cookies?"))
self.assert_("a-cookie" in [c.name for c in jar], "seriously, where's my cookie")
# now put the header on the request please
request = Request.blank("http://example.com")
self.assert_(".example.com" in jar._cookies.keys(), jar._cookies.keys())
jar.add_cookie_header(filters.RequestCookieAdapter(request))
self.assert_("Cookie" in request.headers, (str(request), "Y NO COOKIES?"))