async def _receive_query_response(input_channel: connection.TextReader) -> Optional[query.Response]:
    async with _read_server_response(input_channel) as raw_response:
        LOG.debug(f'Received `{log.truncate(raw_response, 400)}`')
        try:
            return query.parse_query_response(raw_response)
        except query.InvalidQueryResponse as exception:
            LOG.info(f'Failed to parse json {raw_response} due to exception: {exception}')
            return None
async def _receive_query_response(input_channel: connection.TextReader) -> Optional[query.Response]:
    async with _read_server_response(input_channel) as raw_response:
        LOG.debug(f'Received `{log.truncate(raw_response, 400)}`')
        try:
            return query.parse_query_response(raw_response)
        except query.InvalidQueryResponse as exception:
            LOG.info(f'Failed to parse json {raw_response} due to exception: {exception}')
            return None