async def _query(self, query_text: str, socket_path: Path) -> Optional[query.Response]:
    LOG.info(f'Querying for `{query_text}`')
    try:
        async with connection.connect_in_text_mode(socket_path) as (input_channel, output_channel):
            (await _send_query_request(output_channel, query_text))
            return (await _receive_query_response(input_channel))
    except connection.ConnectionFailure:
        LOG.error(f'Could not establish connection with an existing Pyre server at {socket_path}.')
        return None
async def _query(self, query_text: str, socket_path: Path) -> Optional[query.Response]:
    LOG.info(f'Querying for `{query_text}`')
    try:
        async with connection.connect_in_text_mode(socket_path) as (input_channel, output_channel):
            (await _send_query_request(output_channel, query_text))
            return (await _receive_query_response(input_channel))
    except connection.ConnectionFailure:
        LOG.error(f'Could not establish connection with an existing Pyre server at {socket_path}.')
        return None