KINEMATIC.md 1.32 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
# Lemonldap::NG::Manager kinematic

## Initialization

    PSGI file
     |
     +-> Common::PSGI::run() (Manager inheritance)
          |
          +-> Common::PSGI::new() unless(defined $self)
          |
          +-> Manager::init()
Xavier Guimard's avatar
Xavier Guimard committed
12 13 14 15 16 17 18 19 20 21 22 23 24
          |    |
          |    +-> Handler::PSGI::Router::init()
          |    |    |
          |    |    +-> Common::PSGI::init()
          |    |    |
          |    |    +-> Handler::PSGI::Base::init()
          |    |
          |    +-> Manager::<modules>::addRoutes()
          |        (module can be one of `Conf`, `Sessions`, `Notifications`)
          |         |
          |         +-> Common::PSGI::Router::addRoute()
          |
          +-> Handler::PSGI::Base::_run()
25
               |
Xavier Guimard's avatar
Xavier Guimard committed
26 27 28
               +-> if protected:
                   Handler::PSGI::Base::_authAndTrace()

29 30 31 32 33
           
_Common::PSGI::run()_ returns a subroutine

## HTTP responses

Xavier Guimard's avatar
Xavier Guimard committed
34
PSGI system launch the previous sub returned by Handler::PSGI::Base::\_run()
35 36

    sub
Xavier Guimard's avatar
Xavier Guimard committed
37 38 39
     |
     +-> if protection is set:
     |   Lemonldap::NG::Handler::SharedConf::run()
40
     |
41
     +-> Common::PSGI::Router::handler ( Lemonldap::NG::Common::PSGI::Request->new() )
42 43 44 45 46
          |
          +-> Common::PSGI::Router::followPath()
               |
               +-> Launch the corresponding Manager::<module> subroutine declared with addRoutes()