aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py')
-rw-r--r--.venv/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py71
1 files changed, 71 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py b/.venv/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py
new file mode 100644
index 00000000..36cfba9d
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/gunicorn/app/wsgiapp.py
@@ -0,0 +1,71 @@
+# -*- coding: utf-8 -
+#
+# This file is part of gunicorn released under the MIT license.
+# See the NOTICE for more information.
+
+import os
+
+from gunicorn.errors import ConfigError
+from gunicorn.app.base import Application
+from gunicorn import util
+
+
+class WSGIApplication(Application):
+ def init(self, parser, opts, args):
+ self.app_uri = None
+
+ if opts.paste:
+ from .pasterapp import has_logging_config
+
+ config_uri = os.path.abspath(opts.paste)
+ config_file = config_uri.split('#')[0]
+
+ if not os.path.exists(config_file):
+ raise ConfigError("%r not found" % config_file)
+
+ self.cfg.set("default_proc_name", config_file)
+ self.app_uri = config_uri
+
+ if has_logging_config(config_file):
+ self.cfg.set("logconfig", config_file)
+
+ return
+
+ if len(args) > 0:
+ self.cfg.set("default_proc_name", args[0])
+ self.app_uri = args[0]
+
+ def load_config(self):
+ super().load_config()
+
+ if self.app_uri is None:
+ if self.cfg.wsgi_app is not None:
+ self.app_uri = self.cfg.wsgi_app
+ else:
+ raise ConfigError("No application module specified.")
+
+ def load_wsgiapp(self):
+ return util.import_app(self.app_uri)
+
+ def load_pasteapp(self):
+ from .pasterapp import get_wsgi_app
+ return get_wsgi_app(self.app_uri, defaults=self.cfg.paste_global_conf)
+
+ def load(self):
+ if self.cfg.paste is not None:
+ return self.load_pasteapp()
+ else:
+ return self.load_wsgiapp()
+
+
+def run():
+ """\
+ The ``gunicorn`` command line runner for launching Gunicorn with
+ generic WSGI applications.
+ """
+ from gunicorn.app.wsgiapp import WSGIApplication
+ WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
+
+
+if __name__ == '__main__':
+ run()