MCPcopy Index your code
hub / github.com/pgadmin-org/pgadmin4 / ReverseProxied

Class ReverseProxied

web/pgAdmin4.py:50–76  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

48# Support reverse proxying
49##########################################################################
50class ReverseProxied():
51 def __init__(self, app):
52 self.app = app
53 # https://werkzeug.palletsprojects.com/en/0.15.x/middleware/proxy_fix
54 try:
55 from werkzeug.middleware.proxy_fix import ProxyFix
56 self.app = ProxyFix(app,
57 x_for=config.PROXY_X_FOR_COUNT,
58 x_proto=config.PROXY_X_PROTO_COUNT,
59 x_host=config.PROXY_X_HOST_COUNT,
60 x_port=config.PROXY_X_PORT_COUNT,
61 x_prefix=config.PROXY_X_PREFIX_COUNT
62 )
63 except ImportError:
64 pass
65
66 def __call__(self, environ, start_response):
67 script_name = environ.get("HTTP_X_SCRIPT_NAME", "")
68 if script_name:
69 environ["SCRIPT_NAME"] = script_name
70 path_info = environ["PATH_INFO"]
71 if path_info.startswith(script_name):
72 environ["PATH_INFO"] = path_info[len(script_name):]
73 scheme = environ.get("HTTP_X_SCHEME", "")
74 if scheme:
75 environ["wsgi.url_scheme"] = scheme
76 return self.app(environ, start_response)
77
78
79##########################################################################

Callers 1

pgAdmin4.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected