本文整理汇总了Python中werkzeug.wrappers.Response.delete_cookie方法的典型用法代码示例。如果您正苦于以下问题:Python Response.delete_cookie方法的具体用法?Python Response.delete_cookie怎么用?Python Response.delete_cookie使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类werkzeug.wrappers.Response
的用法示例。
在下文中一共展示了Response.delete_cookie方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: new_app
# 需要导入模块: from werkzeug.wrappers import Response [as 别名]
# 或者: from werkzeug.wrappers.Response import delete_cookie [as 别名]
def new_app(environ, start_response):
request = Request(environ)
if request.path == '/login' and request.method == 'POST':
response = redirect(request.url)
response.set_cookie('username', request.form['username'])
return response(environ, start_response)
if request.path == '/login' and not request.cookies.get('username'):
response = Response(dev_login_page, content_type='text/html')
return response(environ, start_response)
if request.path == '/logout' and request.cookies.get('username'):
response = redirect(request.url)
response.delete_cookie('username')
return response(environ, start_response)
environ['REMOTE_USER'] = request.cookies.get('username')
if environ['REMOTE_USER'] is None: del environ['REMOTE_USER']
return old_app(environ, start_response)
示例2: my_start_response
# 需要导入模块: from werkzeug.wrappers import Response [as 别名]
# 或者: from werkzeug.wrappers.Response import delete_cookie [as 别名]
def my_start_response(status, headers, exc_info=None):
cookie = ""
for i, header in enumerate(headers):
if header[0] == WebService.AUTHENTICATED_COOKIE_HEADER:
cookie = header[1]
del headers[i]
break
response = Response(status=status, headers=headers)
remote_addr = environ.get("REMOTE_ADDR")
if cookie == "delete":
response.delete_cookie(AWSAuthMiddleware.COOKIE)
elif cookie == "refresh":
response.set_cookie(AWSAuthMiddleware.COOKIE, self._get_cookie(admin_id, remote_addr), httponly=True)
elif cookie.startswith("create:"):
response.set_cookie(
AWSAuthMiddleware.COOKIE,
self._get_cookie(int(cookie.replace("create:", "")), remote_addr),
httponly=True,
)
return response(environ, start_response)
示例3: single
# 需要导入模块: from werkzeug.wrappers import Response [as 别名]
# 或者: from werkzeug.wrappers.Response import delete_cookie [as 别名]
def single(app, environ, request, id):
if request.method == 'GET':
rv = app.db.comments.get(id)
if rv is None:
raise NotFound
for key in set(rv.keys()) - FIELDS:
rv.pop(key)
if request.args.get('plain', '0') == '0':
rv['text'] = app.markdown(rv['text'])
return Response(json.dumps(rv), 200, content_type='application/json')
try:
rv = app.unsign(request.cookies.get(str(id), ''))
except (SignatureExpired, BadSignature):
try:
rv = app.unsign(request.cookies.get('admin', ''))
except (SignatureExpired, BadSignature):
raise Forbidden
if rv[0] != id:
raise Forbidden
# verify checksum, mallory might skip cookie deletion when he deletes a comment
if rv[1] != hashlib.md5(app.db.comments.get(id)["text"].encode('utf-8')).hexdigest():
raise Forbidden
if request.method == 'PUT':
data = request.get_json()
if data.get("text") is not None and len(data['text']) < 3:
raise BadRequest("no text given")
for key in set(data.keys()) - set(["text", "author", "website"]):
data.pop(key)
data['modified'] = time.time()
with app.lock:
rv = app.db.comments.update(id, data)
for key in set(rv.keys()) - FIELDS:
rv.pop(key)
logger.info('comment %i edited: %s', id, json.dumps(rv))
checksum = hashlib.md5(rv["text"].encode('utf-8')).hexdigest()
rv["text"] = app.markdown(rv["text"])
resp = Response(json.dumps(rv), 200, content_type='application/json')
resp.set_cookie(str(rv["id"]), app.sign([rv["id"], checksum]), max_age=app.conf.getint('general', 'max-age'))
return resp
if request.method == 'DELETE':
item = app.db.comments.get(id)
app.cache.delete('hash', item['email'] or item['remote_addr'])
rv = app.db.comments.delete(id)
if rv:
for key in set(rv.keys()) - FIELDS:
rv.pop(key)
logger.info('comment %i deleted', id)
resp = Response(json.dumps(rv), 200, content_type='application/json')
resp.delete_cookie(str(id), path='/')
return resp