def get_message(self, transport, http_version: str, method: bytes,<EOL>url: bytes, headers: List[List[bytes]]) -> Dict[str, Any]:
url_obj = parse_url(url)<EOL>if url_obj.schema is None:<EOL><INDENT>if transport.get_extra_info('<STR_LIT>'):<EOL><INDENT>scheme = '<STR_LIT>'<EOL><DEDENT>else:<EOL><INDENT>scheme = '<STR_LIT:http>'<EOL><DEDENT><DEDENT>else:<EOL><INDENT>scheme = url_obj.schema.decode()<EOL><DEDENT>path = '<STR_LIT>' if url_obj.path is None else url_obj.path.decode('<STR_LIT:utf-8>')<EOL>query = b'<STR_LIT>' if url_obj.query is None else url_obj.query<EOL>return {<EOL>'<STR_LIT>': '<STR_LIT>',<EOL>'<STR_LIT>': None,<EOL>'<STR_LIT>': http_version,<EOL>'<STR_LIT>': method.decode(),<EOL>'<STR_LIT>': scheme,<EOL>'<STR_LIT:path>': path,<EOL>'<STR_LIT>': query,<EOL>'<STR_LIT>': '<STR_LIT>',<EOL>'<STR_LIT>': headers,<EOL>'<STR_LIT:body>': b'<STR_LIT>',<EOL>'<STR_LIT>': None,<EOL>'<STR_LIT>': transport.get_extra_info('<STR_LIT>'),<EOL>'<STR_LIT>': transport.get_extra_info('<STR_LIT>')<EOL>}<EOL>
http://channels.readthedocs.io/en/stable/asgi/www.html#request