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 Exporter

Proxmox 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;未經允許,請勿轉載。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部