Mercurial > hg
annotate contrib/hgweb.wsgi @ 25691:5cda0ce05c42
wireproto: add config knob for http header length limit
Well-behaved Mercurial clients will respect the httpheader capability by not
sending http headers longer than the given limit in bytes. The limit is
currently hard-coded at 1024 bytes, a safe value for any web server.
Since parsing headers is a notable factor in web server performance, tuning
header size can nontrivially improve performance for request-heavy operations
(eg. obsolete marker negotiation). Exposing the maximum header length limit
as a configuration setting is a simple way to enable such tuning.
author | Mike Edgar <adgar@google.com> |
---|---|
date | Mon, 29 Jun 2015 12:35:31 -0400 |
parents | 85cba926cb59 |
children | 4b0fc75f9403 |
rev | line source |
---|---|
11002
b1739ebb9f3f
hgweb: synchronize fcgi and wsgi scripts
Matt Mackall <mpm@selenic.com>
parents:
7800
diff
changeset
|
1 # An example WSGI for use with mod_wsgi, edit as necessary |
11502
594ca4c60d62
hgweb.wsgi: add a URL to the corresponding wiki documentation
Martin Geisler <mg@lazybytes.net>
parents:
11002
diff
changeset
|
2 # See http://mercurial.selenic.com/wiki/modwsgi for more information |
11002
b1739ebb9f3f
hgweb: synchronize fcgi and wsgi scripts
Matt Mackall <mpm@selenic.com>
parents:
7800
diff
changeset
|
3 |
b1739ebb9f3f
hgweb: synchronize fcgi and wsgi scripts
Matt Mackall <mpm@selenic.com>
parents:
7800
diff
changeset
|
4 # Path to repo or hgweb config to serve (see 'hg help hgweb') |
b1739ebb9f3f
hgweb: synchronize fcgi and wsgi scripts
Matt Mackall <mpm@selenic.com>
parents:
7800
diff
changeset
|
5 config = "/path/to/repo/or/config" |
7800
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
6 |
15475
85cba926cb59
hgweb: add hint about finding library path with debuginstall
Matt Mackall <mpm@selenic.com>
parents:
11502
diff
changeset
|
7 # Uncomment and adjust if Mercurial is not installed system-wide |
85cba926cb59
hgweb: add hint about finding library path with debuginstall
Matt Mackall <mpm@selenic.com>
parents:
11502
diff
changeset
|
8 # (consult "installed modules" path from 'hg debuginstall'): |
11002
b1739ebb9f3f
hgweb: synchronize fcgi and wsgi scripts
Matt Mackall <mpm@selenic.com>
parents:
7800
diff
changeset
|
9 #import sys; sys.path.insert(0, "/path/to/python/lib") |
b1739ebb9f3f
hgweb: synchronize fcgi and wsgi scripts
Matt Mackall <mpm@selenic.com>
parents:
7800
diff
changeset
|
10 |
b1739ebb9f3f
hgweb: synchronize fcgi and wsgi scripts
Matt Mackall <mpm@selenic.com>
parents:
7800
diff
changeset
|
11 # Uncomment to send python tracebacks to the browser if an error occurs: |
b1739ebb9f3f
hgweb: synchronize fcgi and wsgi scripts
Matt Mackall <mpm@selenic.com>
parents:
7800
diff
changeset
|
12 #import cgitb; cgitb.enable() |
7800
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
13 |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
14 # enable demandloading to reduce startup time |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
15 from mercurial import demandimport; demandimport.enable() |
58125c27ddbe
contrib: add hgwebdir.wsgi, to serve as a better example
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
diff
changeset
|
16 |
11002
b1739ebb9f3f
hgweb: synchronize fcgi and wsgi scripts
Matt Mackall <mpm@selenic.com>
parents:
7800
diff
changeset
|
17 from mercurial.hgweb import hgweb |
b1739ebb9f3f
hgweb: synchronize fcgi and wsgi scripts
Matt Mackall <mpm@selenic.com>
parents:
7800
diff
changeset
|
18 application = hgweb(config) |