mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
"Extending FreeIPA" is a developer guide of FreeIPA core framework. Please make sure to improve the guide every time parts of the core framework are affected by your changes. This document ideally should correspond to the current state of the framework. The Guide is written using Emacs Org Mode but can be edited with any plain text editing tool. Emacs is only required to convert it to distribution formats like HTML and TXT. See guide/Makefile for building the guide and README for details of the build environment.
27 lines
1017 B
Python
27 lines
1017 B
Python
from ipalib import api
|
|
from ipalib.config import Env
|
|
from ipalib.constants import DEFAULT_CONFIG
|
|
|
|
# Determine what debug level is configured. We can only do this
|
|
# by reading in the configuration file(s). The server always reads
|
|
# default.conf and will also read in `context'.conf.
|
|
env = Env()
|
|
env._bootstrap(context='server', log=None)
|
|
env._finalize_core(**dict(DEFAULT_CONFIG))
|
|
|
|
# Initialize the API with the proper debug level
|
|
api.bootstrap(context='server', debug=env.debug, log=None) (ref:wsgi-app-bootstrap)
|
|
try:
|
|
api.finalize() (ref:wsgi-app-finalize)
|
|
except StandardError, e:
|
|
api.log.error('Failed to start IPA: %s' % e)
|
|
else:
|
|
api.log.info('*** PROCESS START ***')
|
|
|
|
# This is the WSGI callable:
|
|
def application(environ, start_response): (ref:wsgi-app-start)
|
|
if not environ['wsgi.multithread']:
|
|
return api.Backend.session(environ, start_response)
|
|
else:
|
|
api.log.error("IPA does not work with the threaded MPM, use the pre-fork MPM") (ref:wsgi-app-end)
|