def retrieve(self, request, pass_type_id, serial_number):
        pass_ = get_pass(pass_type_id, serial_number)

        if request.META.get('HTTP_AUTHORIZATION') != 'ApplePass %s' % pass_.authentication_token:
            return Response({}, status=status.HTTP_401_UNAUTHORIZED)

        if WALLETPASS_CONF['STORAGE_HTTP_REDIRECT']:
            return Response({}, status=status.HTTP_302_FOUND, headers={'Location': pass_.data.url})

        response = HttpResponse(pass_.data.read(), content_type='application/vnd.apple.pkpass')
        response['Content-Disposition'] = 'attachment; filename=pass.pkpass'

        response['Last-Modified'] = http_date(timegm(pass_.updated_at.utctimetuple()))
        middleware = ConditionalGetMiddleware()
        return middleware.process_response(request, response)