mercurial/hgweb/server.py
changeset 4388 80c7fa620a4d
parent 4250 ca639faa38a2
parent 4387 80d3f6f0d8e5
child 4516 96d8a56d4ef9
equal deleted inserted replaced
4377:e33ad7cea15f 4388:80c7fa620a4d
    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