docs: def wrap(self, sock):
          """Wrap and return the given socket, plus WSGI environ entries."""
          try:
              s = ssl.wrap_socket(sock, do_handshake_on_connect=True,
                      server_side=True, certfile=self.certificate,
                      keyfile=self.private_key, ssl_version=ssl.PROTOCOL_SSLv23)
          except ssl.SSLError, e:
              if e.errno == ssl.SSL_ERROR_EOF:
                  # This is almost certainly due to the cherrypy engine
                  # 'pinging' the socket to assert it's connectable;
                  # the 'ping' isn't SSL.
                  return None, {}
              elif e.errno == ssl.SSL_ERROR_SSL:
                  if e.args[1].endswith('http request'):
                      # The client is speaking HTTP to an HTTPS server.
                      raise wsgiserver.NoSSLError
              raise
          return s, self.get_environ(s)