本文整理汇总了Python中flask.request方法的典型用法代码示例。如果您正苦于以下问题:Python flask.request方法的具体用法?Python flask.request怎么用?Python flask.request使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在模块flask的用法示例。
在下文中一共展示了flask.request方法的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: token_required
点赞 6
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def token_required(func):
"""
检查是否携带token,如果token未携带或无效将直接返回错误,否则将username保存到g.username中
"""
from everyclass.server.user import service as user_service
@functools.wraps(func)
def wrapped(*args, **kwargs):
token = request.headers.get("X-API-Token")
if not token:
return generate_error_response(None, STATUS_CODE_TOKEN_MISSING)
username = user_service.get_username_from_jwt(token)
if not username:
return generate_error_response(None, STATUS_CODE_INVALID_TOKEN)
g.username = username
return func(*args, **kwargs)
return wrapped
开发者ID:everyclass,项目名称:everyclass-server,代码行数:22,
示例2: auth
点赞 6
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def auth():
# Describe the access request of the client and ask user for approval
client_id = request.args.get('client_id')
redirect_url = request.args.get('redirect_url')
if None in [ client_id, redirect_url ]:
return json.dumps({
"error": "invalid_request"
}), 400
if not verify_client_info(client_id, redirect_url):
return json.dumps({
"error": "invalid_client"
})
return render_template('Implicit_grant_access.html',
client_id = client_id,
redirect_url = redirect_url)
开发者ID:michaelawyu,项目名称:auth-server-sample,代码行数:20,
示例3: auth
点赞 6
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def auth():
# Describe the access request of the client and ask user for approval
client_id = request.args.get('client_id')
redirect_url = request.args.get('redirect_url')
code_challenge = request.args.get('code_challenge')
if None in [ client_id, redirect_url, code_challenge ]:
return json.dumps({
"error": "invalid_request"
}), 400
if not verify_client_info(client_id, redirect_url):
return json.dumps({
"error": "invalid_client"
})
return render_template('AC_PKCE_grant_access.html',
client_id = client_id,
redirect_url = redirect_url,
code_challenge = code_challenge)
开发者ID:michaelawyu,项目名称:auth-server-sample,代码行数:22,
示例4: exchange_for_token
点赞 6
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def exchange_for_token():
# Issues access token
authorization_code = request.form.get('authorization_code')
client_id = request.form.get('client_id')
code_verifier = request.form.get('code_verifier')
redirect_url = request.form.get('redirect_url')
if None in [ authorization_code, client_id, code_verifier, redirect_url ]:
return json.dumps({
"error": "invalid_request"
}), 400
if not verify_authorization_code(authorization_code, client_id, redirect_url,
code_verifier):
return json.dumps({
"error": "access_denied"
}), 400
access_token = generate_access_token()
return json.dumps({
"access_token": access_token,
"token_type": "JWT",
"expires_in": JWT_LIFE_SPAN
})
开发者ID:michaelawyu,项目名称:auth-server-sample,代码行数:26,
示例5: redirect_later
点赞 6
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def redirect_later():
"""302 redirect to / after the given delay.
If delay is -1, wait until a request on redirect-later-continue is done.
"""
global _redirect_later_event
delay = float(flask.request.args.get('delay', '1'))
if delay == -1:
_redirect_later_event = threading.Event()
ok = _redirect_later_event.wait(timeout=30 * 1000)
assert ok
_redirect_later_event = None
else:
time.sleep(delay)
x = flask.redirect('/')
return x
开发者ID:qutebrowser,项目名称:qutebrowser,代码行数:18,
示例6: drip
点赞 6
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def drip():
"""Drip data over a duration."""
duration = float(flask.request.args.get('duration'))
numbytes = int(flask.request.args.get('numbytes'))
pause = duration / numbytes
def generate_bytes():
for _ in range(numbytes):
yield "*".encode('utf-8')
time.sleep(pause)
response = flask.Response(generate_bytes(), headers={
"Content-Type": "application/octet-stream",
"Content-Length": str(numbytes),
})
response.status_code = HTTPStatus.OK
return response
开发者ID:qutebrowser,项目名称:qutebrowser,代码行数:19,
示例7: test_get_scopes
点赞 6
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def test_get_scopes(flask_app):
with flask_app.test_request_context("/"):
scopes = get_scopes(flask.request)
assert scopes == set()
with flask_app.test_request_context("/?scope=email&scope=name"):
scopes = get_scopes(flask.request)
assert scopes == {Scope.NAME, Scope.EMAIL}
# a space between email and name
with flask_app.test_request_context("/?scope=email%20name"):
scopes = get_scopes(flask.request)
assert scopes == {Scope.NAME, Scope.EMAIL}
# a comma between email and name
with flask_app.test_request_context("/?scope=email,name"):
scopes = get_scopes(flask.request)
assert scopes == {Scope.NAME, Scope.EMAIL}
# non-existent scope: raise ValueError
with flask_app.test_request_context("/?scope=abcd"):
with pytest.raises(ValueError):
get_scopes(flask.request)
开发者ID:simple-login,项目名称:app,代码行数:25,
示例8: test_get_response_types
点赞 6
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def test_get_response_types(flask_app):
with flask_app.test_request_context("/"):
response_types = get_response_types(flask.request)
assert response_types == set()
with flask_app.test_request_context("/?response_type=token&response_type=id_token"):
response_types = get_response_types(flask.request)
assert response_types == {ResponseType.TOKEN, ResponseType.ID_TOKEN}
# a space as separator
with flask_app.test_request_context("/?response_type=token%20id_token"):
response_types = get_response_types(flask.request)
assert response_types == {ResponseType.TOKEN, ResponseType.ID_TOKEN}
# a comma as separator
with flask_app.test_request_context("/?response_type=id_token,token"):
response_types = get_response_types(flask.request)
assert response_types == {ResponseType.TOKEN, ResponseType.ID_TOKEN}
# non-existent response_type: raise ValueError
with flask_app.test_request_context("/?response_type=abcd"):
with pytest.raises(ValueError):
get_response_types(flask.request)
开发者ID:simple-login,项目名称:app,代码行数:25,
示例9: do_get
点赞 6
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def do_get(self):
is_valid, msg, json = self.validate_json()
if not is_valid:
logger.error('invalid json: %s' % msg)
return dict()
if json is None:
return environ.env.db.get_banned_users()
if 'users' not in json:
return dict()
logger.debug('GET request: %s' % str(json))
output = dict()
for user_id in json['users']:
output[user_id] = self.do_get_with_params(user_id)
return output
开发者ID:thenetcircle,项目名称:dino,代码行数:19,
示例10: do_post
点赞 6
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def do_post(self):
is_valid, msg, json = self.validate_json()
if not is_valid:
logger.error('invalid json: %s' % msg)
raise RuntimeError('invalid json')
if json is None:
raise RuntimeError('no json in request')
if not isinstance(json, dict):
raise RuntimeError('need a dict')
logger.debug('POST request: %s' % str(json))
if 'id' not in json:
raise RuntimeError('no id parameter in request')
user_id = json.get('id')
try:
environ.env.db.remove_global_moderator(user_id)
except Exception as e:
logger.error('could not remove global moderator with id "%s": %s' % (str(user_id), str(e)))
logger.exception(traceback.format_exc())
raise RuntimeError('could not remove global moderator with id "%s": %s' % (str(user_id), str(e)))
开发者ID:thenetcircle,项目名称:dino,代码行数:24,
示例11: do_get
点赞 6
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def do_get(self):
the_json = self.validate_json()
logger.debug('GET request: %s' % str(the_json))
room_id = the_json.get('room_id', '')
limit = the_json.get('limit', 100)
try:
messages = self.do_get_with_params(room_id, limit)
for message in messages:
message['from_user_name'] = b64e(message['from_user_name'])
message['body'] = b64e(message['body'])
message['target_name'] = b64e(message['target_name'])
message['channel_name'] = b64e(message['channel_name'])
return messages
except Exception as e:
logger.error('could not get messages: %s' % str(e))
raise e
开发者ID:thenetcircle,项目名称:dino,代码行数:20,
示例12: _do_post
点赞 6
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def _do_post(self, json_data: dict):
logger.debug('POST request: %s' % str(json_data))
room_id = json_data.get('room_id')
action = json_data.get('action')
acl_type = json_data.get('acl_type')
acl_value = json_data.get('acl_value')
try:
channel_id = self.env.db.channel_for_room(room_id)
self.acl_manager.update_room_acl(channel_id, room_id, action, acl_type, acl_value)
except Exception as e:
logger.error('could update acls in room {} with action={}, type={}, value="{}": {}'.format(
room_id, action, acl_type, acl_value, str(e))
)
logger.exception(traceback.format_exc())
self.env.capture_exception(sys.exc_info())
开发者ID:thenetcircle,项目名称:dino,代码行数:19,
示例13: _validate_params
点赞 6
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def _validate_params(self):
is_valid, msg, json_data = self.validate_json(self.request, silent=False)
if not is_valid:
raise RuntimeError('invalid json: %s' % msg)
if json_data is None:
raise RuntimeError('no json in request')
if not isinstance(json_data, dict):
raise RuntimeError('need a dict')
if 'room_id' not in json_data:
raise KeyError('missing parameter room_id for in request')
if 'action' not in json_data:
raise KeyError('missing parameter action for in request')
if 'acl_type' not in json_data:
raise KeyError('missing parameter acl_type for in request')
if 'acl_value' not in json_data:
raise KeyError('missing parameter acl_value for in request')
return json_data
开发者ID:thenetcircle,项目名称:dino,代码行数:22,
示例14: do_get
点赞 6
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def do_get(self):
is_valid, msg, json = self.validate_json(self.request, silent=True)
if not is_valid:
logger.error('invalid json: %s' % msg)
return dict()
if json is None:
return environ.env.db.get_banned_users()
if 'users' not in json:
return dict()
logger.debug('GET request: %s' % str(json))
output = dict()
for user_id in json['users']:
output[user_id] = self.do_get_with_params(user_id)
return output
开发者ID:thenetcircle,项目名称:dino,代码行数:19,
示例15: do_post
点赞 6
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def do_post(self):
the_json = self.validate_json()
logger.debug('POST request: %s' % str(the_json))
user_id = the_json.get('user_id')
from_time = the_json.get('from_time', None)
to_time = the_json.get('to_time', None)
try:
messages = self.do_post_with_params(user_id, from_time, to_time)
for message in messages:
message['from_user_name'] = b64e(message['from_user_name'])
message['body'] = b64e(message['body'])
message['target_name'] = b64e(message['target_name'])
message['channel_name'] = b64e(message['channel_name'])
return messages
except Exception as e:
logger.error('could not get messages: %s' % str(e))
raise e
开发者ID:thenetcircle,项目名称:dino,代码行数:21,
示例16: do_get
点赞 6
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def do_get(self):
the_json = self.validate_json()
logger.debug('GET request: %s' % str(the_json))
room_id = the_json.get('room_id', '')
user_id = the_json.get('user_id')
from_time = the_json.get('from_time')
to_time = the_json.get('to_time')
try:
messages = self.do_get_with_params(room_id, user_id, from_time, to_time)
for message in messages:
message['from_user_name'] = b64e(message['from_user_name'])
message['body'] = b64e(message['body'])
message['target_name'] = b64e(message['target_name'])
message['channel_name'] = b64e(message['channel_name'])
return messages
except Exception as e:
logger.error('could not get messages: %s' % str(e))
raise e
开发者ID:thenetcircle,项目名称:dino,代码行数:22,
示例17: _parse_accept
点赞 6
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def _parse_accept(request):
"""Get the accept type for a given request.
Valid accept types are "application/json", "application/jsonlines", "application/x-recordio-protobuf",
and "text/csv". If no accept type is set, use the value in SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT.
:param request: flask request
:return: parsed accept type
"""
accept, _ = cgi.parse_header(request.headers.get("accept", ""))
if not accept or accept == "*/*":
return os.getenv(sm_env_constants.SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT, "text/csv")
if accept.lower() not in SUPPORTED_ACCEPTS:
raise ValueError("Accept type {} is not supported. Please use supported accept types: {}."
.format(accept, SUPPORTED_ACCEPTS))
return accept.lower()
开发者ID:aws,项目名称:sagemaker-xgboost-container,代码行数:18,
示例18: do_export
点赞 5
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def do_export():
format = request.form.get("format", "svg").lower()
session["last_format"] = format
filename = "export.{}".format(format)
svg = dataHub.trackCompositor.render()
converter = export.getExportConverter(dataHub.args, format)
if format == "svg":
mimetype = "image/svg+xml"
data = svg
elif format == "png":
mimetype = "image/png"
data = export.convertSVG(svg, "png", converter)
elif format == "pdf":
mimetype = "application/pdf"
data = export.convertSVG(svg, "pdf", converter)
else:
raise Exception("unknown format")
response = Response(data,
mimetype=mimetype,
headers={"Content-Disposition": "attachment;filename={}".format(filename)})
return response
开发者ID:svviz,项目名称:svviz,代码行数:29,
示例19: display
点赞 5
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def display():
req = request.args.get('req', 0)
if req == "progress":
return jsonify(result="done")
if req in ["alt", "ref", "amb"]:
allele = req
results = []
for name, sample in dataHub.samples.items():
# svg = open("{}.{}.svg".format(req, name)).read()
track = sample.tracks[allele]
track.render()
svg = track.svg.asString("web")
results.append({"name":name, "svg":svg})
for annotation in dataHub.alleleTracks[allele]:
track = dataHub.alleleTracks[allele][annotation]
track.render(spacing=5)
annoSVG = track.svg.asString("web")
results.append({"name":annotation, "svg":annoSVG})
return jsonify(results=results)
if req == "counts":
return jsonify(result=dataHub.getCounts())
return jsonify(result="unknown request: {}".format(req))
开发者ID:svviz,项目名称:svviz,代码行数:31,
示例20: put
点赞 5
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def put(self, id_: str, path: str) -> Response:
"""Add new object_ optional parameter using HTTP PUT.
:param id_ - ID of Item to be updated
:param path - Path for Item type( Specified in APIDoc @id) to be updated
"""
id_ = str(id_)
auth_response = check_authentication_response()
if isinstance(auth_response, Response):
return auth_response
class_type = get_doc().collections[path]["collection"].class_.title
# Get path of the collection-class
class_path = get_doc().collections[path]["collection"].class_.path
if checkClassOp(class_path, "PUT"):
# Check if class_type supports PUT operation
object_ = json.loads(request.data.decode('utf-8'))
obj_type = getType(class_path, "PUT")
link_props, link_type_check = get_link_props(class_path, object_)
# Load new object and type
if validObject(object_) and object_["@type"] == obj_type and check_required_props(
class_path, object_) and link_type_check:
try:
# Add the object with given ID
object_id = crud.insert(object_=object_, id_=id_,
link_props=link_props, session=get_session())
headers_ = [{"Location": "{}{}/{}/{}".format(
get_hydrus_server_url(), get_api_name(), path, object_id)}]
status_description = "Object with ID {} successfully added".format(object_id)
status = HydraStatus(code=201, title="Object successfully added.",
desc=status_description)
return set_response_headers(
jsonify(status.generate()), headers=headers_, status_code=status.code)
except (ClassNotFound, InstanceExists, PropertyNotFound) as e:
error = e.get_HTTP()
return set_response_headers(jsonify(error.generate()), status_code=error.code)
else:
error = HydraError(code=400, title="Data is not valid")
return set_response_headers(jsonify(error.generate()), status_code=error.code)
else:
abort(405)
开发者ID:HTTP-APIs,项目名称:hydrus,代码行数:42,
示例21: signin
点赞 5
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def signin():
# Issues authorization code
username = request.form.get('username')
password = request.form.get('password')
client_id = request.form.get('client_id')
redirect_url = request.form.get('redirect_url')
if None in [username, password, client_id, redirect_url]:
return json.dumps({
"error": "invalid_request"
}), 400
if not verify_client_info(client_id, redirect_url):
return json.dumps({
"error": "invalid_client"
})
if not authenticate_user_credentials(username, password):
return json.dumps({
'error': 'access_denied'
}), 401
access_token = generate_access_token()
print(process_redirect_url(redirect_url, {"1":"2"}))
return redirect(process_redirect_url(redirect_url, {
'access_token': access_token,
'token_type': 'JWT',
'expires_in': JWT_LIFE_SPAN
}), code = 303)
开发者ID:michaelawyu,项目名称:auth-server-sample,代码行数:33,
示例22: signin
点赞 5
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def signin():
# Issues authorization code
username = request.form.get('username')
password = request.form.get('password')
client_id = request.form.get('client_id')
redirect_url = request.form.get('redirect_url')
code_challenge = request.form.get('code_challenge')
if None in [username, password, client_id, redirect_url, code_challenge]:
return json.dumps({
"error": "invalid_request"
}), 400
if not verify_client_info(client_id, redirect_url):
return json.dumps({
"error": "invalid_client"
})
if not authenticate_user_credentials(username, password):
return json.dumps({
'error': 'access_denied'
}), 401
authorization_code = generate_authorization_code(client_id, redirect_url,
code_challenge)
url = process_redirect_url(redirect_url, authorization_code)
return redirect(url, code = 303)
开发者ID:michaelawyu,项目名称:auth-server-sample,代码行数:31,
示例23: signin
点赞 5
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def signin():
# Issues authorization code
username = request.form.get('username')
password = request.form.get('password')
client_id = request.form.get('client_id')
redirect_url = request.form.get('redirect_url')
if None in [ username, password, client_id, redirect_url ]:
return json.dumps({
"error": "invalid_request"
}), 400
if not verify_client_info(client_id, redirect_url):
return json.dumps({
"error": "invalid_client"
})
if not authenticate_user_credentials(username, password):
return json.dumps({
'error': 'access_denied'
}), 401
authorization_code = generate_authorization_code(client_id, redirect_url)
url = process_redirect_url(redirect_url, authorization_code)
return redirect(url, code = 303)
开发者ID:michaelawyu,项目名称:auth-server-sample,代码行数:29,
示例24: exchange_for_token
点赞 5
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def exchange_for_token():
# Issues access token
authorization_code = request.form.get('authorization_code')
client_id = request.form.get('client_id')
client_secret = request.form.get('client_secret')
redirect_url = request.form.get('redirect_url')
if None in [ authorization_code, client_id, client_secret, redirect_url ]:
return json.dumps({
"error": "invalid_request"
}), 400
if not authenticate_client(client_id, client_secret):
return json.dumps({
"error": "invalid_client"
}), 400
if not verify_authorization_code(authorization_code, client_id, redirect_url):
return json.dumps({
"error": "access_denied"
}), 400
access_token = generate_access_token()
return json.dumps({
"access_token": access_token.decode(),
"token_type": "JWT",
"expires_in": JWT_LIFE_SPAN
})
开发者ID:michaelawyu,项目名称:auth-server-sample,代码行数:31,
示例25: hello
点赞 5
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def hello():
data = flask_content_type(request) # 所有的请求信息
return jsonify(data=data)
开发者ID:jtyoui,项目名称:Jtyoui,代码行数:5,
示例26: redirect_later_continue
点赞 5
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def redirect_later_continue():
"""Continue a redirect-later request."""
if _redirect_later_event is None:
return flask.Response(b'Timed out or no redirect pending.')
else:
_redirect_later_event.set()
return flask.Response(b'Continued redirect.')
开发者ID:qutebrowser,项目名称:qutebrowser,代码行数:9,
示例27: redirect_to
点赞 5
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def redirect_to():
"""302/3XX Redirects to the given URL."""
# We need to build the response manually and convert to UTF-8 to prevent
# werkzeug from "fixing" the URL. This endpoint should set the Location
# header to the exact string supplied.
response = app.make_response('')
response.status_code = HTTPStatus.FOUND
response.headers['Location'] = flask.request.args['url'].encode('utf-8')
return response
开发者ID:qutebrowser,项目名称:qutebrowser,代码行数:11,
示例28: view_cookies
点赞 5
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def view_cookies():
"""Show cookies."""
return flask.jsonify(cookies=flask.request.cookies)
开发者ID:qutebrowser,项目名称:qutebrowser,代码行数:5,
示例29: set_cookies
点赞 5
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def set_cookies():
"""Set cookie(s) as provided by the query string."""
r = app.make_response(flask.redirect(flask.url_for('view_cookies')))
for key, value in flask.request.args.items():
r.set_cookie(key=key, value=value)
return r
开发者ID:qutebrowser,项目名称:qutebrowser,代码行数:8,
示例30: view_headers
点赞 5
# 需要导入模块: import flask [as 别名]
# 或者: from flask import request [as 别名]
def view_headers():
"""Return HTTP headers."""
return flask.jsonify(headers=dict(flask.request.headers))
开发者ID:qutebrowser,项目名称:qutebrowser,代码行数:5,
注:本文中的flask.request方法示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。