docs: def get_connect_message(self, transport, http_version, method, url,
                              headers):
          '''
          http://channels.readthedocs.io/en/stable/asgi/www.html#connection
          '''
          url_obj = parse_url(url)
          if url_obj.schema is None:
              if transport.get_extra_info('sslcontext'):
                  scheme = 'wss'
              else:
                  scheme = 'ws'
          else:
              scheme = url_obj.schema.decode()
          self.path = ('' if url_obj.path is None
                       else url_obj.path.decode('utf-8'))
          query = b'' if url_obj.query is None else url_obj.query
          self.order = 0
          return {
              'channel': 'websocket.connect',
              'reply_channel': None,
              'http_version': http_version,
              'method': method.decode(),
              'scheme': scheme,
              'path': self.path,
              'query_string': query,
              'root_path': '',
              'headers': headers,
              'client': transport.get_extra_info('peername'),
              'server': transport.get_extra_info('sockname'),
              'order': self.order,
          }