'Exceptions that are recording during routing are reraised with
this method.  During debug we are not reraising redirect requests
for non ``GET``, ``HEAD``, or ``OPTIONS`` requests and we\'re raising
a different error instead to help debug situations.
:internal:'

def raise_routing_exception(self, request):

    if ((not self.debug) or (not isinstance(request.routing_exception, RequestRedirect)) or (request.method in ('GET', 'HEAD', 'OPTIONS'))):
        raise request.routing_exception
    from .debughelpers import FormDataRoutingRedirect
    raise FormDataRoutingRedirect(request)
