annotate hgweb.cgi @ 2434:a2df85adface

http server: support persistent connections. only "hg serve" affected yet. http server running cgi script will not use persistent connections. support for fastcgi will help that. clients that support keepalive can use one tcp connection for all commands during clone and pull. this makes latency of binary search during pull much lower over wan. if server does not know content-length, it will force connection to close at end. right fix is to use chunked transfer-encoding but this is easier and does not hurt performance. only command that is affected is "changegroup" which is always last command during a pull.
author Vadim Gelfer <vadim.gelfer@gmail.com>
date Thu, 15 Jun 2006 12:55:58 -0700
parents 5f65a108a559
children d0db3462d568
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
202
e875a0cf7f3a Call python via env in hgweb.cgi
mpm@selenic.com
parents: 159
diff changeset
1 #!/usr/bin/env python
159
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
2 #
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
3 # An example CGI script to use hgweb, edit as necessary
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
4
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
5 import cgitb, os, sys
391
5f65a108a559 hgweb: pull cgitb into CGI script example, where it can easily be disabled
mpm@selenic.com
parents: 202
diff changeset
6 cgitb.enable()
5f65a108a559 hgweb: pull cgitb into CGI script example, where it can easily be disabled
mpm@selenic.com
parents: 202
diff changeset
7
159
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
8 # sys.path.insert(0, "/path/to/python/lib") # if not a system-wide install
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
9 from mercurial import hgweb
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
10
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
11 h = hgweb.hgweb("/path/to/repo", "repository name")
f9d8620ef469 Add example CGI script
mpm@selenic.com
parents:
diff changeset
12 h.run()