20 from twisted.internet import reactor, task, threads |
20 from twisted.internet import reactor, task, threads |
21 from twisted.internet.defer import maybeDeferred |
21 from twisted.internet.defer import maybeDeferred |
22 from twisted.web2 import channel, http, server, iweb |
22 from twisted.web2 import channel, http, server, iweb |
23 from twisted.web2 import static, resource, responsecode |
23 from twisted.web2 import static, resource, responsecode |
24 |
24 |
25 from cubicweb import ObjectNotFound |
25 from cubicweb import ObjectNotFound, CW_EVENT_MANAGER |
26 from cubicweb.web import (AuthenticationError, NotFound, Redirect, |
26 from cubicweb.web import (AuthenticationError, NotFound, Redirect, |
27 RemoteCallFailed, DirectResponse, StatusResponse, |
27 RemoteCallFailed, DirectResponse, StatusResponse, |
28 ExplicitLogin) |
28 ExplicitLogin) |
29 from cubicweb.web.application import CubicWebPublisher |
29 from cubicweb.web.application import CubicWebPublisher |
30 |
30 |
31 from cubicweb.etwist.request import CubicWebTwistedRequestAdapter |
31 from cubicweb.etwist.request import CubicWebTwistedRequestAdapter |
32 |
32 |
33 |
33 |
107 # requests |
107 # requests |
108 self.pyro_daemon = self.appli.repo.pyro_register() |
108 self.pyro_daemon = self.appli.repo.pyro_register() |
109 self.pyro_listen_timeout = 0.02 |
109 self.pyro_listen_timeout = 0.02 |
110 start_task(1, self.pyro_loop_event) |
110 start_task(1, self.pyro_loop_event) |
111 self.appli.repo.start_looping_tasks() |
111 self.appli.repo.start_looping_tasks() |
112 self.url_rewriter = self.appli.vreg['components'].select_object('urlrewriter') |
112 self.set_url_rewriter() |
|
113 CW_EVENT_MANAGER.bind('after-source-reload', self.set_url_rewriter) |
113 interval = min(config['cleanup-session-time'] or 120, |
114 interval = min(config['cleanup-session-time'] or 120, |
114 config['cleanup-anonymous-session-time'] or 720) / 2. |
115 config['cleanup-anonymous-session-time'] or 720) / 2. |
115 start_task(interval, self.appli.session_handler.clean_sessions) |
116 start_task(interval, self.appli.session_handler.clean_sessions) |
|
117 |
|
118 def set_url_rewriter(self): |
|
119 self.url_rewriter = self.appli.vreg['components'].select_object('urlrewriter') |
116 |
120 |
117 def shutdown_event(self): |
121 def shutdown_event(self): |
118 """callback fired when the server is shutting down to properly |
122 """callback fired when the server is shutting down to properly |
119 clean opened sessions |
123 clean opened sessions |
120 """ |
124 """ |