##// END OF EJS Templates
hgweb: use a capped reader for WSGI input stream...
hgweb: use a capped reader for WSGI input stream Per PEP 3333, the input stream from WSGI should respect EOF and prevent reads past the end of the request body. However, not all WSGI servers guarantee this. Notably, our BaseHTTPServer based built-in HTTP server doesn't. Instead, it exposes the raw socket and you can read() from it all you want, getting the connection in a bad state by doing so. We have a "cappedreader" utility class that proxies a file object and prevents reading past a limit. This commit converts the WSGI input stream into a capped reader when the input length is advertised via Content-Length headers. "cappedreader" only exposes a read() method. PEP 3333 states that the input stream MUST also support readline(), readlines(hint), and __iter__(). However, since our WSGI application code only calls read() and since we're not manipulating the stream exposed by the WSGI server, we're not violating the spec here. Differential Revision: https://phab.mercurial-scm.org/D2768

File last commit:

r23828:8b79fdaa default
r36870:290fc4c3 default
Show More
filelogentry.tmpl
25 lines | 877 B | application/x-cheetah | CheetahLexer
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 <table class="logEntry parity{parity}">
<tr>
FUJIWARA Katsunori
hgweb: align entries in "changelog" and "revisions" pages of "spartan" style...
r21124 <th class="label"><span class="age">{date|rfc822date}</span>:</th>
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <th class="firstline"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{desc|strip|firstline|escape|nonempty}</a></th>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </tr>
<tr>
Anton Shestakov
hgweb: close <th> properly in spartan/filelogentry.tmpl
r23828 <th class="revision">revision {filerev}:</th>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 <td class="node">
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a>
<a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">(diff)</a>
<a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">(annotate)</a>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </td>
</tr>
{rename%filelogrename}
<tr>
<th class="author">author:</th>
<td class="author">{author|obfuscate}</td>
</tr>
<tr>
<th class="date">date:</th>
Brodie Rao
hgweb: fix dynamic date calculation not working under Safari...
r15375 <td class="date">{date|rfc822date}</td>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </tr>
</table>