mirror of
https://github.com/kennethreitz/replit-py.git
synced 2026-06-05 06:56:14 +00:00
Move local_redirect to utils
This commit is contained in:
@@ -17,19 +17,3 @@ signed_in = LocalProxy(lambda: flask.request.signed_in)
|
||||
request = LocalProxy(lambda: flask.request)
|
||||
render_template = flask.render_template
|
||||
redirect = flask.redirect
|
||||
|
||||
|
||||
def local_redirect(location: str, code: int = 302) -> flask.Response:
|
||||
"""Perform a redirection to a local path without downgrading to HTTP.
|
||||
|
||||
Args:
|
||||
location (str): The path to redirect to.
|
||||
code (int): The code to use for the redirect. Defaults to 302.
|
||||
|
||||
Returns:
|
||||
flask.Response: The redirect response.
|
||||
"""
|
||||
# Use a LocalProxy so that it can be called before the request context is available
|
||||
return LocalProxy(
|
||||
lambda: redirect("https://" + request.headers["host"] + location, code)
|
||||
)
|
||||
|
||||
@@ -3,6 +3,7 @@ from functools import wraps
|
||||
from typing import Any, Callable, Union
|
||||
|
||||
import flask
|
||||
from werkzeug.local import LocalProxy
|
||||
|
||||
from .html import Page
|
||||
|
||||
@@ -112,3 +113,21 @@ def needs_params(
|
||||
return handler
|
||||
|
||||
return decorator
|
||||
|
||||
|
||||
def local_redirect(location: str, code: int = 302) -> flask.Response:
|
||||
"""Perform a redirection to a local path without downgrading to HTTP.
|
||||
|
||||
Args:
|
||||
location (str): The path to redirect to.
|
||||
code (int): The code to use for the redirect. Defaults to 302.
|
||||
|
||||
Returns:
|
||||
flask.Response: The redirect response.
|
||||
"""
|
||||
# Use a LocalProxy so that it can be called before the request context is available
|
||||
return LocalProxy(
|
||||
lambda: flask.redirect(
|
||||
"https://" + flask.request.headers["host"] + location, code
|
||||
)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user