Dave told me that my explanation was not clear. Let me try it in other
words. What I want is a program which periodically reloads a page (I think
using LOAD is the best way), but only if I allow it.
My idea was that the header parts "Last-Modified" and/or "ETag" could do
the job. Therefore I wrote the program in two steps:
(1) A controller without any response header modification. It shows the
actual time and reloads once a second - everything is fine.
The functions:
def mytime():
jetzt=str(request.now)[:19]
return dict(jetzt=jetzt)
def init():
return dict()
-------------------------
The views:
mytime.load:
{{=jetzt}}
init.html:
{{extend 'layout.html'}}
{{=LOAD(f="mytime.load", ajax=True, timeout=1000, times="infinity")}}
(2) Now I want to simulate an unchanged page. Anthony wrote on
http://stackoverflow.com/questions/14515313/how-to-modify-web2py-download-function-to-return-304-not-modified-in-case-the
how to change the header. I add the response.headers-lines with a *constant
*"Last-Modified" time and/or a *constant *"ETag" (I think every value is
allowed here). My hope has been that these modifications *would prevent a
reload* of the page. If this would be correct I would always see the same
time. But it did not work, regardless of the header modifications the page
reloads again once a second.
def mytime():
jetzt=str(request.now)[:19]
mtime = "Mi, 06 Aug 2014 08:11:00 GMT" # always the same time!
*response.headers['Last-Modified'] = mtime*
* response.headers['Pragma'] = 'cache' response.headers['Cache-*
*Control'] = 'private' response.headers['ETag'] = "123" # any value,
constant*
return dict(jetzt=jetzt)
My primary problem is: the LOAD helper (or an other command?) asks the
server periodically if there is a new content - and the server should
reload the page under program control.
Is it possible to solve it using the response headers?
The purpose of the request.now call is only to show whether the page
reloads or not.
Regards, Martin
-
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.