143 save_cookies=False):
144 """Creates a new HttpRpcServer.
145
146 Args:
147 host: The host to send requests to.
148 auth_function: A function that takes no arguments and returns an
149 (email, password) tuple when called. Will be called if authentication
150 is required.
151 host_override: The host header to send to the server (defaults to host).
152 extra_headers: A dict of extra headers to append to every request.
153 save_cookies: If True, save the authentication cookies to local disk.
154 If False, use an in-memory cookiejar instead. Subclasses must
155 implement this functionality. Defaults to False.
156 """
157 self.host = host
158 self.host_override = host_override
159 self.auth_function = auth_function
160 self.authenticated = False
161 self.extra_headers = extra_headers
162 self.save_cookies = save_cookies
163 self.opener = self._GetOpener()
164 if self.host_override:
165 logging.info("Server: %s; Host: %s", self.host, self.host_override)
166 else:
167 logging.info("Server: %s", self.host)
168