本文整理汇总了Python中werkzeug.wrappers.Request类的典型用法代码示例。如果您正苦于以下问题:Python Request类的具体用法?Python Request怎么用?Python Request使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Request类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: __call__
def __call__(self, environ, start_response):
request = Request(environ)
lang = request.values.get('_lang')
if lang is None:
lang = (request.accept_languages.best or 'en').split('-')[0].lower()
if not has_language(lang):
lang = 'en'
request.translations = load_translations(lang)
request.translations.language = lang
request.gettext = request.translations.gettext
request.timezone = request.values.get('_timezone', 'UTC')
response = None
if request.path == '/':
view = request.values.get('_current', 'start')
if request.values.get('_startsetup'):
response = self.start_setup(request)
elif view in self.views:
handler = self.views[view]
if handler is not None and \
request.values.get('_next'):
ctx = handler(request)
if ctx is not None:
response = self.handle_view(request, view, ctx)
if response is None:
if request.values.get('_next'):
view = self.next[view]
elif request.values.get('_prev'):
view = self.prev[view]
response = self.handle_view(request, view)
if response is None:
response = redirect('')
return response(environ, start_response)
开发者ID:UfSoft,项目名称:ILog-OLD,代码行数:35,代码来源:__init__.py
示例2: wsgi_app
def wsgi_app(self, environ, start_response):
"""Execute this instance as a WSGI application.
See the PEP for the meaning of parameters. The separation of
__call__ and wsgi_app eases the insertion of middlewares.
"""
urls = self._url_map.bind_to_environ(environ)
try:
endpoint, args = urls.match()
except HTTPException as exc:
return exc
assert endpoint == "get"
request = Request(environ)
request.encoding_errors = "strict"
response = Response()
result = dict()
for task_type in self._task_types:
result[task_type.__name__] = \
list(p.describe() for p in task_type.ACCEPTED_PARAMETERS)
response.status_code = 200
response.mimetype = "application/json"
response.data = json.dumps(result)
return response
开发者ID:acube-unipi,项目名称:oii-web,代码行数:30,代码来源:task_type_api.py
示例3: __init__
def __init__(self, environ, app=None):
RequestBase.__init__(self, environ)
self.queries = []
self.metanav = []
self.navbar = []
self.ctxnavbar = {}
if app is None:
app = get_application()
self.app = app
engine = self.app.database_engine
# get the session and try to get the user object for this request.
from ilog.database import db, User
user = None
cookie_name = app.cfg['cookie_name']
session = SecureCookie.load_cookie(self, cookie_name, app.secret_key)
user_id = session.get('uid')
if user_id:
user = User.query.options(
db.eagerload('groups'), db.eagerload('groups', 'privileges')
).get(user_id)
if user is None:
self.locale = self.app.default_locale
self.translations = self.app.default_translations
user = User.query.get_nobody()
else:
self.locale = Locale(user.locale)
self.translations = i18n.load_translations(self.locale)
self.user = user
self.user.update_last_login()
db.commit()
self.session = session
开发者ID:UfSoft,项目名称:ILog-OLD,代码行数:34,代码来源:application.py
示例4: application
def application(environ, start_response):
# The WSGI server puts content length and type in the environment
# even when not provided with the request. Drop them if they are empty.
if environ.get('CONTENT_LENGTH') == '':
del environ['CONTENT_LENGTH']
if environ.get('CONTENT_TYPE') == '':
del environ['CONTENT_TYPE']
wrequest = WerkzeugRequest(environ)
data = wrequest.get_data()
request = Request(
method=wrequest.method,
url=wrequest.url,
headers=wrequest.headers,
data=data,
)
prepared = request.prepare()
stream = streams.build_output_stream(
args, env, prepared, response=None,
output_options=args.output_options)
streams.write_stream(stream, env.stdout, env.stdout_isatty)
# When there is data in the request, give the next one breathing room.
if data:
print("\n", file=env.stdout)
# Make dreams come true.
response = Response(headers={'Server': server})
return response(environ, start_response)
开发者ID:mblayman,项目名称:httpony,代码行数:30,代码来源:application.py
示例5: wsgi_app
def wsgi_app(self, environ, start_response):
"""Execute this instance as a WSGI application.
See the PEP for the meaning of parameters. The separation of
__call__ and wsgi_app eases the insertion of middlewares.
"""
urls = self._url_map.bind_to_environ(environ)
try:
endpoint, args = urls.match()
except HTTPException as exc:
return exc
assert endpoint == "rpc"
response = Response()
if self._auth is not None and not self._auth(environ):
response.status_code = 403
response.mimetype = "plain/text"
response.data = "Request not allowed."
return response
request = Request(environ)
request.encoding_errors = "strict"
remote_service = ServiceCoord(args['service'], args['shard'])
if remote_service not in self._service.remote_services:
return NotFound()
# TODO Check content_encoding and content_md5.
if request.mimetype != "application/json":
return UnsupportedMediaType()
if request.accept_mimetypes.quality("application/json") <= 0:
return NotAcceptable()
try:
data = json.load(request.stream, encoding='utf-8')
except ValueError:
return BadRequest()
if not self._service.remote_services[remote_service].connected:
return ServiceUnavailable()
result = self._service.remote_services[remote_service].execute_rpc(
args['method'], data)
# XXX We could set a timeout on the .wait().
result.wait()
response.status_code = 200
response.mimetype = "application/json"
response.data = json.dumps({
"data": result.value,
"error": None if result.successful() else "%s" % result.exception})
return response
开发者ID:Corea,项目名称:cms,代码行数:60,代码来源:web_rpc.py
示例6: build_request_obj
def build_request_obj(query_strings):
print(query_strings)
builder = EnvironBuilder() # query_string=)
env = builder.get_environ()
request = Request(env)
request.args = MultiDict(query_strings.items())
return request
开发者ID:AlastairAtFanduel,项目名称:gatekeeper_example,代码行数:7,代码来源:demo_inspection.py
示例7: wsgi_app
def wsgi_app(self, environ, start_response):
route = self.router.bind_to_environ(environ)
try:
endpoint, args = route.match()
except HTTPException as exc:
return exc(environ, start_response)
if endpoint == "events":
return self.event_handler(environ, start_response)
elif endpoint == "logo":
return self.logo_handler(environ, start_response)
elif endpoint == "root":
return self.root_handler(environ, start_response)
else:
request = Request(environ)
request.encoding_errors = "strict"
response = Response()
if endpoint == "sublist":
SubListHandler(request, response, args["user_id"])
elif endpoint == "scores":
ScoreHandler(request, response)
elif endpoint == "history":
HistoryHandler(request, response)
return response(environ, start_response)
开发者ID:Corea,项目名称:cms,代码行数:27,代码来源:RankingWebServer.py
示例8: call_backend
def call_backend(self, environ, start_response):
request = Request(environ)
# Compatibility with django, use request.args preferrably
request.GET = request.args
# By using fcgi, mediagoblin can run under a base path
# like /mediagoblin/. request.path_info contains the
# path inside mediagoblin. If the something needs the
# full path of the current page, that should include
# the basepath.
# Note: urlgen and routes are fine!
request.full_path = environ["SCRIPT_NAME"] + request.path
# python-routes uses SCRIPT_NAME. So let's use that too.
# The other option would be:
# request.full_path = environ["SCRIPT_URL"]
# Fix up environ for urlgen
# See bug: https://bitbucket.org/bbangert/routes/issue/55/cache_hostinfo-breaks-on-https-off
if environ.get('HTTPS', '').lower() == 'off':
environ.pop('HTTPS')
## Attach utilities to the request object
with self.gen_context(request) as request:
return self._finish_call_backend(request, environ, start_response)
开发者ID:piratas,项目名称:biblioteca,代码行数:25,代码来源:app.py
示例9: _load_form_data
def _load_form_data(self):
BaseRequest._load_form_data(self)
if (self.debug
and self.mimetype != 'multipart/form-data'
and not self.files):
from .debughelpers import attach_enctype_error_multidict
attach_enctype_error_multidict(self)
开发者ID:avdd,项目名称:flak,代码行数:7,代码来源:wrappers.py
示例10: wsgi_app
def wsgi_app(self, environ, start_response):
route = self.router.bind_to_environ(environ)
try:
endpoint, args = route.match()
except HTTPException as exc:
return exc(environ, start_response)
assert endpoint == "sublist"
request = Request(environ)
request.encoding_errors = "strict"
if request.accept_mimetypes.quality("application/json") <= 0:
raise NotAcceptable()
result = list()
for task_id in self.task_store._store.keys():
result.extend(
self.scoring_store.get_submissions(
args["user_id"], task_id
).values()
)
result.sort(key=lambda x: (x.task, x.time))
result = list(a.__dict__ for a in result)
response = Response()
response.status_code = 200
response.mimetype = "application/json"
response.data = json.dumps(result)
return response(environ, start_response)
开发者ID:cms-dev,项目名称:cms,代码行数:31,代码来源:RankingWebServer.py
示例11: _load_from_data
def _load_from_data(self):
RequestBase._load_from_data(self)
context = _requestContextStack.top
if context is not None and context.app.debug \
and self.mimetype != 'multipart/form-data' and not self.files:
attachEnctypeErrorMultidict(self)
开发者ID:glassesfactory,项目名称:Shimehari,代码行数:8,代码来源:wrappers.py
示例12: wsgi_app
def wsgi_app(self, environ, start_response):
request = Request(environ)
sid = request.cookies.get("expSession")
request.sessionid = sid
response = self.dispatch_request(request)
return response(environ, start_response)
开发者ID:uoscompsci,项目名称:PRISONER,代码行数:8,代码来源:demo.py
示例13: _load_form_data
def _load_form_data(self):
RequestBase._load_form_data(self)
# in debug mode we're replacing the files multidict with an ad-hoc
# subclass that raises a different error for key errors.
ctx = _request_ctx_stack.top
if ctx is not None and ctx.app.debug and self.mimetype != "multipart/form-data" and not self.files:
attach_enctype_error_multidict(self)
开发者ID:RONNCC,项目名称:Heroku_sghose,代码行数:8,代码来源:wrappers.py
示例14: wsgi_app
def wsgi_app(self, environ, start_response):
"""Execute this instance as a WSGI application.
See the PEP for the meaning of parameters. The separation of
__call__ and wsgi_app eases the insertion of middlewares.
"""
urls = self._url_map.bind_to_environ(environ)
try:
endpoint, args = urls.match()
except HTTPException as exc:
return exc
assert endpoint == "rpc"
request = Request(environ)
request.encoding_errors = "strict"
response = Response()
remote_service = ServiceCoord(args['service'], args['shard'])
if remote_service not in self._service.remote_services:
return NotFound()
# TODO Check content_encoding and content_md5.
if request.mimetype != "application/json":
return UnsupportedMediaType()
if request.accept_mimetypes.quality("application/json") <= 0:
return NotAcceptable()
try:
data = json.load(request.stream, encoding='utf-8')
except ValueError:
return BadRequest()
if not self._service.remote_services[remote_service].connected:
return ServiceUnavailable()
value = AsyncResult()
@rpc_callback
def callback(service, data, plus=None, error=None):
value.set({'data': data, 'error': error})
self._service.remote_services[remote_service].execute_rpc(
args['method'], data, callback)
response.status_code = 200
response.mimetype = "application/json"
# XXX We could set a timeout on the .get().
response.data = json.dumps(value.get())
return response
开发者ID:acube-unipi,项目名称:oii-web,代码行数:56,代码来源:rpc_api.py
示例15: __init__
def __init__(self, environ, url_map, session_store = None, cookie_name = None):
RequestBase.__init__(self, environ)
self.url_adapter = url_map.bind_to_environ(environ)
self.session_store = session_store
self.cookie_name = cookie_name
if session_store is not None and cookie_name is not None:
if cookie_name in self.cookies:
self.session = session_store.get(self.cookies[cookie_name])
else:
self.session = session_store.new()
开发者ID:Pluckyduck,项目名称:eve,代码行数:10,代码来源:kickstart.py
示例16: _request_signature
def _request_signature(self, environ, digest):
h = hmac.new(
self._secret_key.encode('utf8'),
self.string_to_sign(environ).encode('utf8'),
digest,
)
request = Request(environ)
if 'wsgi.input' in environ:
h.update(request.get_data())
return digest().name + ' ' + base64.b64encode(h.digest()).decode('utf8')
开发者ID:18F,项目名称:hmac_authentication_py,代码行数:10,代码来源:hmacauth.py
示例17: wsgi_app
def wsgi_app(self, environ, start_response):
script_name = environ.get('HTTP_X_SCRIPT_NAME', '')
if script_name:
environ['SCRIPT_NAME'] = script_name
path_info = environ['PATH_INFO']
if path_info.startswith(script_name):
environ['PATH_INFO'] = path_info[len(script_name):]
request = Request(environ)
request.app = self
response = self.dispatch_request(request)
return response(environ, start_response)
开发者ID:fergalwalsh,项目名称:pico,代码行数:11,代码来源:__init__.py
示例18: __call__
def __call__(self, environ, start_response):
request = Request(environ)
try:
name, args, kwargs = loads(request.get_data(cache=True))
debug('calling function: "%s"', name)
result = self.rpc()(name, *args, **kwargs)
execution_error = None
except Exception, e:
execution_error = ErrorMessage.from_exception(e, address=request.host_url)
result = None
error('error: %s, traceback: \n%s', e, traceback.format_exc())
开发者ID:cosminbasca,项目名称:asyncrpc,代码行数:11,代码来源:wsgi.py
示例19: _wsgi_app
def _wsgi_app(environ, start_response):
rq = Request(environ)
environ['werkzeug.request'] = None
cx = rq.context = factory()
try:
rsp = handler(rq)
finally:
rq.close()
if hasattr(cx, 'close'):
cx.close()
return rsp(environ, start_response)
开发者ID:avdd,项目名称:carenet-ng,代码行数:11,代码来源:web.py
示例20: _load_form_data
def _load_form_data(self):
RequestBase._load_form_data(self)
# In debug mode we're replacing the files multidict with an ad-hoc
# subclass that raises a different error for key errors.
if (
current_app
and current_app.debug
and self.mimetype != 'multipart/form-data'
and not self.files
):
from .debughelpers import attach_enctype_error_multidict
attach_enctype_error_multidict(self)
开发者ID:AEliu,项目名称:flask,代码行数:13,代码来源:wrappers.py
注:本文中的werkzeug.wrappers.Request类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论