diff options
author | Bruno Wagner <bwagner@riseup.net> | 2016-08-31 15:27:20 -0300 |
---|---|---|
committer | Bruno Wagner <bwagner@riseup.net> | 2016-08-31 15:27:20 -0300 |
commit | a5f1945915c5cac2bc1cf5d7ee8ae888db202ca8 (patch) | |
tree | c241dafcb3c86bdb1fd23d685f95f93a804184e8 /service/pixelated/resources/login_resource.py | |
parent | a34e5fe54f074a9a3f570e71cf30d4cda8b9ce41 (diff) |
Reading interstitial on class init
The interstitial was being read at every login
request, that was a blocking read on the main
loop for every user.
That file was also being opened and not closed
at every request, that would aggravate the
'too many open files' problem
Diffstat (limited to 'service/pixelated/resources/login_resource.py')
-rw-r--r-- | service/pixelated/resources/login_resource.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/service/pixelated/resources/login_resource.py b/service/pixelated/resources/login_resource.py index ab91176a..1e7c26a5 100644 --- a/service/pixelated/resources/login_resource.py +++ b/service/pixelated/resources/login_resource.py @@ -102,6 +102,8 @@ class LoginResource(BaseResource): self._portal = portal self._disclaimer_banner = disclaimer_banner self.putChild('startup-assets', File(self._startup_folder)) + with open(os.path.join(self._startup_folder, 'Interstitial.html')) as f: + self.interstitial = f.read() def set_portal(self, portal): self._portal = portal @@ -129,7 +131,7 @@ class LoginResource(BaseResource): def render_response(leap_session): request.setResponseCode(OK) - request.write(open(os.path.join(self._startup_folder, 'Interstitial.html')).read()) + request.write(self.interstitial) request.finish() self._setup_user_services(leap_session, request) |