<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def handle_unsubscribe_request(cls, request, message, dispatch, hash_is_valid, redirect_to):
 """Handles user subscription cancelling request. :param Request request: Request instance :param Message message: Message model instance :param Dispatch dispatch: Dispatch model instance :param bool hash_is_valid: Flag indicating that user supplied request signature is correct :param str redirect_to: Redirection URL :rtype: list """


        if hash_is_valid:
            Subscription.cancel(
                dispatch.recipient_id or dispatch.address, cls.alias, dispatch.messenger
            )
            signal = sig_unsubscribe_success
        else:
            signal = sig_unsubscribe_failed

        signal.send(cls, request=request, message=message, dispatch=dispatch)
        return redirect(redirect_to)