Example #1
0
def redirect_view(request):
    redirect = request.GET.get('r', None)
    if redirect is None:
        # No redirect data in the query params, so we return a 404.
        return HttpResponseNotFound('Not found')

    for prov in get_redirectors():
        try:
            url = prov.handle_redirect(request, redirect)
        except Exception:
            logger.exception('Error in provider {0}'.format(
                prov.__class__.__name__))

        if url is not None:
            return HttpResponseRedirect(url)

    # None of the providers handled the redirect, so we return
    # a 404.
    return HttpResponseNotFound('Not found')
Example #2
0
 def test_load(self):
     dummy_redirectors = [
         prov for prov in get_redirectors()
         if isinstance(prov, DummyRedirector)
     ]
     assert len(dummy_redirectors) == 1
Example #3
0
 def test_didnt_load(self):
     dummy_providers = [
         prov for prov in get_redirectors()
         if isinstance(prov, DummyRedirector)
     ]
     eq_(len(dummy_providers), 0)