From 1f6f6a745109f978db23e49750ecf52709470871 Mon Sep 17 00:00:00 2001 From: Jakub Warmuz Date: Sat, 7 Nov 2015 22:33:31 +0000 Subject: [PATCH 1/2] Logging in HTTP01RequestHandler: more and not to sys.stderr. --- acme/acme/standalone.py | 38 +++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/acme/acme/standalone.py b/acme/acme/standalone.py index 1466671e3..3843f453a 100644 --- a/acme/acme/standalone.py +++ b/acme/acme/standalone.py @@ -6,7 +6,6 @@ import logging import os import sys -import six from six.moves import BaseHTTPServer # pylint: disable=import-error from six.moves import http_client # pylint: disable=import-error from six.moves import socketserver # pylint: disable=import-error @@ -55,7 +54,20 @@ class DVSNIServer(TLSServer, ACMEServerMixin): def __init__(self, server_address, certs): TLSServer.__init__( - self, server_address, socketserver.BaseRequestHandler, certs=certs) + self, server_address, DVSNIRequestHandler, certs=certs) + + +class DVSNIRequestHandler(socketserver.BaseRequestHandler): + """DVSNI request handler.""" + + def log_message(self, format, *args): # pylint: disable=redefined-builtin + """Log arbitrary message.""" + logger.debug("%s - - %s", self.client_address[0], format % args) + + def handle(self): + """Handle request.""" + self.log_message("Incoming request") + socketserver.BaseRequestHandler.handle(self) class HTTP01Server(BaseHTTPServer.HTTPServer, ACMEServerMixin): @@ -83,6 +95,15 @@ class HTTP01RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): self.simple_http_resources = kwargs.pop("simple_http_resources", set()) socketserver.BaseRequestHandler.__init__(self, *args, **kwargs) + def log_message(self, format, *args): # pylint: disable=redefined-builtin + """Log arbitrary message.""" + logger.debug("%s - - %s", self.client_address[0], format % args) + + def handle(self): + """Handle request.""" + self.log_message("Incoming request") + BaseHTTPServer.BaseHTTPRequestHandler.handle(self) + def do_GET(self): # pylint: disable=invalid-name,missing-docstring if self.path == "/": self.handle_index() @@ -109,17 +130,17 @@ class HTTP01RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): """Handle HTTP01 provisioned resources.""" for resource in self.simple_http_resources: if resource.chall.path == self.path: - logger.debug("Serving HTTP01 with token %r", - resource.chall.encode("token")) + self.log_message("Serving HTTP01 with token %r", + resource.chall.encode("token")) self.send_response(http_client.OK) self.send_header("Content-type", resource.chall.CONTENT_TYPE) self.end_headers() self.wfile.write(resource.validation.encode()) return else: # pylint: disable=useless-else-on-loop - logger.debug("No resources to serve") - logger.debug("%s does not correspond to any resource. ignoring", - self.path) + self.log_message("No resources to serve") + self.log_message("%s does not correspond to any resource. ignoring", + self.path) @classmethod def partial_init(cls, simple_http_resources): @@ -159,8 +180,7 @@ def simple_dvsni_server(cli_args, forever=True): OpenSSL.crypto.FILETYPE_PEM, cert_contents)) server = DVSNIServer(('', int(args.port)), certs=certs) - six.print_("Serving at https://localhost:{0}...".format( - server.socket.getsockname()[1])) + logger.info("Serving at https://%s:%s...", *server.socket.getsockname()[:2]) if forever: # pragma: no cover server.serve_forever() else: From 6d32c2e5a4d5dc22c28ef78a67a0df83bfdb3804 Mon Sep 17 00:00:00 2001 From: Jakub Warmuz Date: Sat, 7 Nov 2015 23:00:43 +0000 Subject: [PATCH 2/2] Rename DVSNIRequestHandler to BaseRequestHandlerWithLogging. --- acme/acme/standalone.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/acme/acme/standalone.py b/acme/acme/standalone.py index 3843f453a..c0e037904 100644 --- a/acme/acme/standalone.py +++ b/acme/acme/standalone.py @@ -54,11 +54,11 @@ class DVSNIServer(TLSServer, ACMEServerMixin): def __init__(self, server_address, certs): TLSServer.__init__( - self, server_address, DVSNIRequestHandler, certs=certs) + self, server_address, BaseRequestHandlerWithLogging, certs=certs) -class DVSNIRequestHandler(socketserver.BaseRequestHandler): - """DVSNI request handler.""" +class BaseRequestHandlerWithLogging(socketserver.BaseRequestHandler): + """BaseRequestHandler with logging.""" def log_message(self, format, *args): # pylint: disable=redefined-builtin """Log arbitrary message."""