You still need to set the config option to allow the method but
if it is enabled then Quixote will allow it. Implementation of
the method is up to the application, not Quixote.
We should not close the connection inside the handle_connection()
method, the caller will call shutdown() and then close(). Refactor
so that 'input' and 'output' file descriptors are closed on errors.
PTLFileLoader.source_to_code() is a static method and should
not have a 'self' parameter. Use absolute imports in ptl_compile.py
so it can be run as a script.
The built-in smtp module requires byte strings. Change
quixote.sendmail to accept Unicode strings and apply the correct
encoding and charset declarations to produce proper messages.
Support new compiled module layout (__pycache__). Fix
compile_package() so it can be used for backwards compatibility
with Quixote applications using it.
There was a packaging error for 2.8. It included files not intended
to be released which broke the 'ptl' package. This release repairs
that error and includes a small change to random session tokens.
Our previous 64-bit values should still be more than secure
for web applications but recommended best practice is currently
128-bit. We use URL-safe base64 encoding so the length of
the tokens is only a bit longer.
Since stat.st_mtime is a float in linux, _load_pyc will almost always
recompile the ptl files. Here's a patch to make the logic follow
compile.c in python.
Use chunked transfer encoding if there is no content length
available and it's supported by the protocol (i.e. HTTP 1.1).
Stream responses without a length can now be compressed.
Only mess with the _q_exports attribute if the export()
and subdir() decorators have been used. This will hopefull
avoid any backwards compatibility surprises.
Mention the export() decorator. Simplify the explaination of
the mini demo. Suggest starting the server using python -m
<module> since that avoids platform dependant paths. Explain
how to make simple_server listen on a public interface. Include
the latest docutils stylesheet.