async def file(location, mime_type=None, headers=None, _range=None):
filename = path.split(location)[-<NUM_LIT:1>]<EOL>async with open_async(location, mode='<STR_LIT:rb>') as _file:<EOL><INDENT>if _range:<EOL><INDENT>await _file.seek(_range.start)<EOL>out_stream = await _file.read(_range.size)<EOL>headers['<STR_LIT>'] = '<STR_LIT>' % (<EOL>_range.start, _range.end, _range.total)<EOL><DEDENT>else:<EOL><INDENT>out_stream = await _file.read()<EOL><DEDENT><DEDENT>mime_type = mime_type or guess_type(filename)[<NUM_LIT:0>] or '<STR_LIT>'<EOL>return HTTPResponse(status=<NUM_LIT:200>,<EOL>headers=headers,<EOL>content_type=mime_type,<EOL>body_bytes=out_stream)<EOL>
Return a response object with file data.

    :param location: Location of file on system.
    :param mime_type: Specific mime_type.
    :param headers: Custom Headers.
    :param _range: