import json

from django.http import HttpResponse, Http404
from django.http.response import JsonResponse
from django.shortcuts import get_object_or_404
from django.views.decorators.csrf import csrf_exempt

from frigg.decorators import token_required
from .models import Build, Project


@token_required
@csrf_exempt
def report_build(request):
    try:
        payload = json.loads(request.body)
        build = Build.objects.get(pk=payload['id'])
        build.handle_worker_report(payload)
        response = JsonResponse({'message': 'Thanks for building it'})
    except Build.DoesNotExist:
        response = JsonResponse({'error': 'Build not found'})
        response.status_code = 404
    return response


@csrf_exempt
def build_badge(request, owner, project, branch='master'):
    project = get_object_or_404(Project, owner=owner, name=project)
    badge = project.get_badge(branch)
    if badge is None:
        raise Http404

    return HttpResponse(content=badge, content_type='image/svg+xml')

import json

from django.http import HttpResponse, Http404
from django.http.response import JsonResponse
from django.shortcuts import get_object_or_404
from django.views.decorators.cache import never_cache
from django.views.decorators.csrf import csrf_exempt

from frigg.decorators import token_required
from .models import Build, Project


@token_required
@csrf_exempt
def report_build(request):
    try:
        payload = json.loads(request.body)
        build = Build.objects.get(pk=payload['id'])
        build.handle_worker_report(payload)
        response = JsonResponse({'message': 'Thanks for building it'})
    except Build.DoesNotExist:
        response = JsonResponse({'error': 'Build not found'})
        response.status_code = 404
    return response


@never_cache
@csrf_exempt
def build_badge(request, owner, project, branch='master'):
    project = get_object_or_404(Project, owner=owner, name=project)
    badge = project.get_badge(branch)
    if badge is None:
        raise Http404

    return HttpResponse(content=badge, content_type='image/svg+xml')

Add @never_cache decorator to the badge view
Add @never_cache decorator to the badge view

  import json
  
  from django.http import HttpResponse, Http404
  from django.http.response import JsonResponse
  from django.shortcuts import get_object_or_404
+ from django.views.decorators.cache import never_cache
  from django.views.decorators.csrf import csrf_exempt
  
  from frigg.decorators import token_required
  from .models import Build, Project
  
  
  @token_required
  @csrf_exempt
  def report_build(request):
      try:
          payload = json.loads(request.body)
          build = Build.objects.get(pk=payload['id'])
          build.handle_worker_report(payload)
          response = JsonResponse({'message': 'Thanks for building it'})
      except Build.DoesNotExist:
          response = JsonResponse({'error': 'Build not found'})
          response.status_code = 404
      return response
  
  
+ @never_cache
  @csrf_exempt
  def build_badge(request, owner, project, branch='master'):
      project = get_object_or_404(Project, owner=owner, name=project)
      badge = project.get_badge(branch)
      if badge is None:
          raise Http404
  
      return HttpResponse(content=badge, content_type='image/svg+xml')
  
Add @never_cache decorator to the badge view
## Code Before:
import json

from django.http import HttpResponse, Http404
from django.http.response import JsonResponse
from django.shortcuts import get_object_or_404
from django.views.decorators.csrf import csrf_exempt

from frigg.decorators import token_required
from .models import Build, Project


@token_required
@csrf_exempt
def report_build(request):
    try:
        payload = json.loads(request.body)
        build = Build.objects.get(pk=payload['id'])
        build.handle_worker_report(payload)
        response = JsonResponse({'message': 'Thanks for building it'})
    except Build.DoesNotExist:
        response = JsonResponse({'error': 'Build not found'})
        response.status_code = 404
    return response


@csrf_exempt
def build_badge(request, owner, project, branch='master'):
    project = get_object_or_404(Project, owner=owner, name=project)
    badge = project.get_badge(branch)
    if badge is None:
        raise Http404

    return HttpResponse(content=badge, content_type='image/svg+xml')

## Instruction:
Add @never_cache decorator to the badge view
## Code After:
import json

from django.http import HttpResponse, Http404
from django.http.response import JsonResponse
from django.shortcuts import get_object_or_404
from django.views.decorators.cache import never_cache
from django.views.decorators.csrf import csrf_exempt

from frigg.decorators import token_required
from .models import Build, Project


@token_required
@csrf_exempt
def report_build(request):
    try:
        payload = json.loads(request.body)
        build = Build.objects.get(pk=payload['id'])
        build.handle_worker_report(payload)
        response = JsonResponse({'message': 'Thanks for building it'})
    except Build.DoesNotExist:
        response = JsonResponse({'error': 'Build not found'})
        response.status_code = 404
    return response


@never_cache
@csrf_exempt
def build_badge(request, owner, project, branch='master'):
    project = get_object_or_404(Project, owner=owner, name=project)
    badge = project.get_badge(branch)
    if badge is None:
        raise Http404

    return HttpResponse(content=badge, content_type='image/svg+xml')
