comparison mercurial/hgweb/server.py @ 4359:80d3f6f0d8e5

hg serve: don't do DNS lookups
author Matt Mackall <mpm@selenic.com>
date Wed, 25 Apr 2007 13:35:18 -0500
parents bd46b83b9692
children 80c7fa620a4d
comparison
equal deleted inserted replaced
4358:11dc22eb8e8d 4359:80d3f6f0d8e5
41 self.protocol_version = 'HTTP/1.1' 41 self.protocol_version = 'HTTP/1.1'
42 BaseHTTPServer.BaseHTTPRequestHandler.__init__(self, *args, **kargs) 42 BaseHTTPServer.BaseHTTPRequestHandler.__init__(self, *args, **kargs)
43 43
44 def log_error(self, format, *args): 44 def log_error(self, format, *args):
45 errorlog = self.server.errorlog 45 errorlog = self.server.errorlog
46 errorlog.write("%s - - [%s] %s\n" % (self.address_string(), 46 errorlog.write("%s - - [%s] %s\n" % (self.client_address[0],
47 self.log_date_time_string(), 47 self.log_date_time_string(),
48 format % args)) 48 format % args))
49 49
50 def log_message(self, format, *args): 50 def log_message(self, format, *args):
51 accesslog = self.server.accesslog 51 accesslog = self.server.accesslog
52 accesslog.write("%s - - [%s] %s\n" % (self.address_string(), 52 accesslog.write("%s - - [%s] %s\n" % (self.client_address[0],
53 self.log_date_time_string(), 53 self.log_date_time_string(),
54 format % args)) 54 format % args))
55 55
56 def do_POST(self): 56 def do_POST(self):
57 try: 57 try:
78 env['REQUEST_METHOD'] = self.command 78 env['REQUEST_METHOD'] = self.command
79 env['SERVER_NAME'] = self.server.server_name 79 env['SERVER_NAME'] = self.server.server_name
80 env['SERVER_PORT'] = str(self.server.server_port) 80 env['SERVER_PORT'] = str(self.server.server_port)
81 env['REQUEST_URI'] = self.path 81 env['REQUEST_URI'] = self.path
82 env['PATH_INFO'] = path_info 82 env['PATH_INFO'] = path_info
83 env['REMOTE_HOST'] = self.client_address[0]
84 env['REMOTE_ADDR'] = self.client_address[0]
83 if query: 85 if query:
84 env['QUERY_STRING'] = query 86 env['QUERY_STRING'] = query
85 host = self.address_string()
86 if host != self.client_address[0]:
87 env['REMOTE_HOST'] = host
88 env['REMOTE_ADDR'] = self.client_address[0]
89 87
90 if self.headers.typeheader is None: 88 if self.headers.typeheader is None:
91 env['CONTENT_TYPE'] = self.headers.type 89 env['CONTENT_TYPE'] = self.headers.type
92 else: 90 else:
93 env['CONTENT_TYPE'] = self.headers.typeheader 91 env['CONTENT_TYPE'] = self.headers.typeheader