python里teep是什么意思_Python wrappers.Response方法代碼示例
本文整理匯總了Python中werkzeug.wrappers.Response方法的典型用法代碼示例。如果您正苦於以下問題:Python wrappers.Response方法的具體用法?Python wrappers.Response怎麽用?Python wrappers.Response使用的例子?那麽恭喜您, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在模塊werkzeug.wrappers的用法示例。
在下文中一共展示了wrappers.Response方法的29個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於我們的係統推薦出更棒的Python代碼示例。
示例1: api_only
點讚 6
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def api_only(fn):
@wraps(fn)
def wrapped(*args, **kwargs):
accepted = set(request.accept_mimetypes.values())
explicit = not(not request.args.get("json", False))
if not (accepted & API_MIMETYPES) and not explicit:
return abort(415, "Unsupported Media Type")
resp = fn(*args, **kwargs)
if not isinstance(resp, ResponseBase):
data, code, headers = unpack(resp)
# we've found one, return json
if isinstance(data, MarshalResult):
data = data.data
resp = make_response(json.dumps(data,
indent=explicit and 4 or 0),
code)
if headers:
resp.headers.update(headers)
resp.headers["Content-Type"] = 'application/json'
return resp
return wrapped
開發者ID:beavyHQ,項目名稱:beavy,代碼行數:25,
示例2: application
點讚 6
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def application(request):
file_path = request.path.lstrip(URL_PREFIX)
full_path = os.path.join(BASE_PATH, file_path)
# Protect against path traversal attacks, if they make it this far.
if not full_path.startswith(BASE_PATH):
# DANGER!
return Response("Suspicious url", status=403)
format = request.args.get('format', None)
if format == 'raw':
# Let nginx serve raw files
accel_path = os.path.join('/accelredir/', file_path)
return Response('', headers={'X-Accel-Redirect': accel_path})
try:
extension = get_extension(full_path, format)
if extension and extension in handlers:
return handlers[extension](full_path, format)
else:
return Response("No handlers for format %s" % extension, status=400)
except FileNotFoundError:
return Response("Not found", status=404)
return Response(full_path)
開發者ID:toolforge,項目名稱:paws,代碼行數:24,
示例3: abort
點讚 6
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def abort(status, *args, **kwargs):
'''
Raises an :py:exc:`HTTPException` for the given status code or WSGI
application::
abort(404) # 404 Not Found
abort(Response('Hello World'))
Can be passed a WSGI application or a status code. If a status code is
given it's looked up in the list of exceptions and will raise that
exception, if passed a WSGI application it will wrap it in a proxy WSGI
exception and raise that::
abort(404)
abort(Response('Hello World'))
'''
return _aborter(status, *args, **kwargs)
開發者ID:ryfeus,項目名稱:lambda-packs,代碼行數:20,
示例4: single_serve
點讚 6
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def single_serve(message=None, port=5000):
import logging
from werkzeug.wrappers import Request, Response
from werkzeug.serving import run_simple
log = logging.getLogger('werkzeug')
log.setLevel(logging.ERROR)
captured = {}
def application(environ, start_response):
request = Request(environ)
request.environ.get('werkzeug.server.shutdown')()
captured.update(dict(request.args.items()))
if message:
print(message)
response = Response(message, mimetype='text/plain')
return response(environ, start_response)
run_simple('localhost', port, application)
return captured
開發者ID:debrouwere,項目名稱:google-analytics,代碼行數:23,
示例5: __call__
點讚 6
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def __call__(self, environ, start_response):
if _ENABLE_TEST:
global current_environ
current_environ = environ
self.parse_header(environ)
app_params = environ["_app_params"]
if not any(app_params.values()): # all app_params's value is None
self.parse_body(environ)
unauth_response = Response(
json.dumps({"code": 401, "error": "Unauthorized."}),
status=401,
mimetype="application/json",
)
if app_params["id"] is None:
return unauth_response(environ, start_response)
if (APP_ID == app_params["id"]) and (
app_params["key"] in [MASTER_KEY, APP_KEY, ANDX_KEY]
):
return self.app(environ, start_response)
if (APP_ID == app_params["id"]) and (app_params["master_key"] == MASTER_KEY):
return self.app(environ, start_response)
return unauth_response(environ, start_response)
開發者ID:leancloud,項目名稱:python-sdk,代碼行數:27,
示例6: test_webob_response_normalization
點讚 6
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def test_webob_response_normalization(httpbin):
import webob
raw_request = webob.Request.blank(httpbin.url + '/get')
raw_request.query_string = 'key=val'
raw_request.method = 'GET'
raw_request.content_type = 'application/json'
raw_response = webob.Response()
raw_response.content_type = 'application/json'
response = normalize_response(raw_response, raw_request)
assert response.path == '/get'
assert response.content_type == 'application/json'
assert response.url == httpbin.url + '/get?key=val'
assert response.status_code == '200'
開發者ID:pipermerriam,項目名稱:flex,代碼行數:19,
示例7: test_werkzeug_response_normalization
點讚 6
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def test_werkzeug_response_normalization(httpbin):
from werkzeug.wrappers import Request, Response
from werkzeug.test import create_environ
raw_request = Request(create_environ(
path='/get',
base_url=httpbin.url,
query_string='key=val',
method='GET',
))
raw_response = Response(
response=b'{"key2": "val2"}',
content_type='application/json',
)
response = normalize_response(raw_response, raw_request)
assert response.path == '/get'
assert response.content_type == 'application/json'
assert response.url == httpbin.url + '/get?key=val'
assert response.status_code == '200'
開發者ID:pipermerriam,項目名稱:flex,代碼行數:24,
示例8: on_pve
點讚 6
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def on_pve(self, module='default', target='localhost'):
"""
Request handler for /pve route
"""
if module in self._config:
start = time.time()
output = collect_pve(self._config[module], target)
response = Response(output)
response.headers['content-type'] = CONTENT_TYPE_LATEST
self._duration.labels(module).observe(time.time() - start)
else:
response = Response("Module '{0}' not found in config".format(module))
response.status_code = 400
return response
開發者ID:prometheus-pve,項目名稱:prometheus-pve-exporter,代碼行數:18,
示例9: on_index
點讚 6
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def on_index(self):
"""
Request handler for index route (/).
"""
response = Response(
"""
Proxmox VE ExporterProxmox VE Exporter
Visit /pve?target=1.2.3.4 to use.
"""
)
response.headers['content-type'] = 'text/html'
return response
開發者ID:prometheus-pve,項目名稱:prometheus-pve-exporter,代碼行數:19,
示例10: _do_test_client_retry_429
點讚 6
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def _do_test_client_retry_429(httpserver, retry_after, expected_seconds):
records = []
def record_date(_):
records.append(datetime.datetime.utcnow())
return Response("It works now !", 200)
httpserver.expect_oneshot_request("/").respond_with_data(
"This is an 429 error", status=429, headers={"Retry-After": retry_after}
)
httpserver.expect_request("/").respond_with_handler(record_date)
with http.Client() as client:
now = datetime.datetime.utcnow()
client.get(httpserver.url_for("/"))
assert len(httpserver.log) == 2
elapsed_seconds = (records[0] - now).total_seconds()
assert expected_seconds - 1 < elapsed_seconds <= expected_seconds + 1
httpserver.check_assertions()
開發者ID:Mergifyio,項目名稱:mergify-engine,代碼行數:22,
示例11: callback
點讚 6
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def callback(self, session: Dict, request: Request) -> Response:
""" Authentication callback handler """
# validate state
state = request.args.get("state", "unknown")
_state = session.pop("state", None)
if state != _state:
return Response("Invalid state", status=403)
# fetch user tokens
code: str = request.args.get("code", "unknown")
tokens = self.kc.callback(code)
session["tokens"] = json.dumps(tokens)
# fetch user info
access_token = tokens["access_token"]
user = self.kc.fetch_userinfo(access_token)
session["user"] = json.dumps(user)
return redirect(self.redirect_uri)
開發者ID:chunky-monkeys,項目名稱:keycloak-client,代碼行數:22,
示例12: requires_auth
點讚 5
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def requires_auth(f):
@wraps(f)
def decorated(*args, **kwargs):
state = is_authorized()
if state is False:
if request.path.startswith('/api'):
return api_response(400, message="Invalid authentication.")
return redirect(internal_url_for('/login'))
if isinstance(state, Response):
return state
return f(*args, **kwargs)
return decorated
開發者ID:thenetcircle,項目名稱:dino,代碼行數:16,
示例13: fallbackRender
點讚 5
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def fallbackRender(template, key=None):
def wrapper(fn):
@wraps(fn)
def decorated_view(*args, **kwargs):
resp = fn(*args, **kwargs)
if isinstance(resp, ResponseBase):
return resp
data, code, headers = unpack(resp)
accepted = set(request.accept_mimetypes.values())
explicit = not (not request.args.get("json", False))
if len(accepted & API_MIMETYPES) or explicit:
# we've found one, return json
if isinstance(data, MarshalResult):
data = data.data
resp = make_response(json.dumps(data,
indent=explicit and 4 or 0),
code)
ct = 'application/json'
else:
resp = make_response(render_template(template,
key=key,
data=data),
code)
ct = "text/html"
if headers:
resp.headers.update(headers)
resp.headers["Content-Type"] = ct
return resp
return decorated_view
return wrapper
開發者ID:beavyHQ,項目名稱:beavy,代碼行數:37,
示例14: card
點讚 5
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def card(name: str) -> wrappers.Response:
return redirect('https://pennydreadfulmagic.com/cards/{name}/'.format(name=name))
開發者ID:PennyDreadfulMTG,項目名稱:Penny-Dreadful-Tools,代碼行數:4,
示例15: old_charts
點讚 5
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def old_charts() -> Response:
return redirect(url_for('charts'))
開發者ID:PennyDreadfulMTG,項目名稱:Penny-Dreadful-Tools,代碼行數:4,
示例16: not_found
點讚 5
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def not_found(self, e: Exception) -> Union[Response, Tuple[str, int]]:
if request.path.startswith('/error/HTTP_BAD_GATEWAY'):
return return_json(generate_error('BADGATEWAY', 'Bad Gateway'), status=502)
log_exception(request, e)
if request.path.startswith('/api/'):
return return_json(generate_error('NOTFOUND', 'Endpoint not found'), status=404)
view = NotFound(e)
return view.page(), 404
開發者ID:PennyDreadfulMTG,項目名稱:Penny-Dreadful-Tools,代碼行數:10,
示例17: internal_server_error
點讚 5
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def internal_server_error(self, e: Exception) -> Union[Tuple[str, int], Response]:
log_exception(request, e)
path = request.path
try:
repo.create_issue('500 error at {path}\n {e}'.format(path=path, e=e), session.get('mtgo_username', session.get('id', 'logged_out')), self.name, 'PennyDreadfulMTG/perf-reports', exception=e)
except GithubException:
logger.error('Github error', e)
if request.path.startswith('/api/'):
return return_json(generate_error('INTERNALERROR', 'Internal Error.', exception=e), status=404)
view = InternalServerError(e)
return view.page(), 500
開發者ID:PennyDreadfulMTG,項目名稱:Penny-Dreadful-Tools,代碼行數:13,
示例18: logout
點讚 5
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def logout(self) -> wrappers.Response:
oauth.logout()
target = request.args.get('target', 'home')
if bool(urllib.parse.urlparse(target).netloc):
return redirect(target)
return redirect(url_for(target))
開發者ID:PennyDreadfulMTG,項目名稱:Penny-Dreadful-Tools,代碼行數:8,
示例19: authenticate_callback
點讚 5
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def authenticate_callback(self) -> wrappers.Response:
if request.values.get('error'):
return redirect(url_for('unauthorized', error=request.values['error']))
oauth.setup_session(request.url)
url = session.get('target')
if url is None:
url = url_for('home')
session['target'] = None
return redirect(url)
開發者ID:PennyDreadfulMTG,項目名稱:Penny-Dreadful-Tools,代碼行數:11,
示例20: robots_txt
點讚 5
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def robots_txt(self) -> Response:
"""
Serves the robots.txt
"""
if configuration.get_bool('is_test_site'):
return send_from_directory(self.static_folder, 'deny-all-robots.txt')
return send_from_directory(self.static_folder, 'robots.txt')
開發者ID:PennyDreadfulMTG,項目名稱:Penny-Dreadful-Tools,代碼行數:9,
示例21: favicon
點讚 5
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def favicon(self, rest: str) -> Response:
if not self.static_folder:
raise DoesNotExistException()
return send_from_directory(os.path.join(self.static_folder, 'images', 'favicon'), 'favicon{rest}'.format(rest=rest))
開發者ID:PennyDreadfulMTG,項目名稱:Penny-Dreadful-Tools,代碼行數:6,
示例22: login_required
點讚 5
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def login_required(f: Callable) -> Callable:
@wraps(f)
def decorated_function(*args: List[Any], **kwargs: Dict[str, Any]) -> wrappers.Response:
if session.get('id') is None:
return redirect(url_for('authenticate', target=request.url))
return f(*args, **kwargs)
return decorated_function
開發者ID:PennyDreadfulMTG,項目名稱:Penny-Dreadful-Tools,代碼行數:9,
示例23: demimod_required
點讚 5
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def demimod_required(f: Callable[..., wrappers.Response]) -> Callable[..., wrappers.Response]:
@wraps(f)
def decorated_function(*args: List[Any], **kwargs: Dict[str, Any]) -> wrappers.Response:
if session.get('admin') is None and session.get('demimod') is None:
return redirect(url_for('authenticate', target=request.url))
if session.get('admin') is False and session.get('demimod') is False:
return redirect(url_for('unauthorized'))
return f(*args, **kwargs)
return decorated_function
開發者ID:PennyDreadfulMTG,項目名稱:Penny-Dreadful-Tools,代碼行數:11,
示例24: export
點讚 5
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def export(deck_id: int) -> Response:
d = ds.load_deck(deck_id)
if d.is_in_current_run():
if not session.get('admin') and (not auth.person_id() or auth.person_id() != d.person_id):
abort(403)
safe_name = deck_name.file_name(d)
return make_response(mc.to_mtgo_format(str(d)), 200, {'Content-type': 'text/plain; charset=utf-8', 'Content-Disposition': 'attachment; filename={name}.txt'.format(name=safe_name)})
開發者ID:PennyDreadfulMTG,項目名稱:Penny-Dreadful-Tools,代碼行數:9,
示例25: cmc_chart
點讚 5
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def cmc_chart(deck_id: int) -> Response:
return send_file(chart.cmc(int(deck_id)))
開發者ID:PennyDreadfulMTG,項目名稱:Penny-Dreadful-Tools,代碼行數:4,
示例26: discord
點讚 5
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def discord() -> wrappers.Response:
return redirect('https://discord.gg/RxhTEEP')
開發者ID:PennyDreadfulMTG,項目名稱:Penny-Dreadful-Tools,代碼行數:4,
示例27: image
點讚 5
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def image(c: str = '') -> wrappers.Response:
names = c.split('|')
try:
requested_cards = oracle.load_cards(names)
path = image_fetcher.download_image(requested_cards)
if path is None:
raise InternalServerError(f'Failed to get image for {c}')
return send_file(os.path.abspath(path)) # Send abspath to work around monolith root versus web root.
except TooFewItemsException as e:
logger.info(f'Did not find an image for {c}: {e}')
if len(names) == 1:
return redirect(f'https://api.scryfall.com/cards/named?exact={c}&format=image', code=303)
return make_response('', 400)
開發者ID:PennyDreadfulMTG,項目名稱:Penny-Dreadful-Tools,代碼行數:15,
示例28: current_league
點讚 5
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def current_league() -> wrappers.Response:
url = url_for('competition', competition_id=lg.active_league().id)
return redirect(url)
開發者ID:PennyDreadfulMTG,項目名稱:Penny-Dreadful-Tools,代碼行數:5,
示例29: add_signup
點讚 5
# 需要導入模塊: from werkzeug import wrappers [as 別名]
# 或者: from werkzeug.wrappers import Response [as 別名]
def add_signup() -> Response:
if lg.get_status() == lg.Status.CLOSED:
return signup()
form = SignUpForm(request.form, auth.person_id(), auth.mtgo_username())
if form.validate():
d = lg.signup(form)
response = make_response(redirect(url_for('deck', deck_id=d.id)))
response.set_cookie('deck_id', str(d.id))
return response
return signup(form)
開發者ID:PennyDreadfulMTG,項目名稱:Penny-Dreadful-Tools,代碼行數:12,
注:本文中的werkzeug.wrappers.Response方法示例整理自Github/MSDocs等源碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
