from __future__ import absolute_import

from django.views.generic import TemplateView as BaseTemplateView

from sentry.web.helpers import render_to_response


def static_media(request, **kwargs):
    """
    Serve static files below a given point in the directory structure.
    """
    from django.contrib.staticfiles.views import serve

    module = kwargs.get('module')
    path = kwargs.get('path', '')
    version = kwargs.get('version')

    if module:
        path = '%s/%s' % (module, path)

    response = serve(request, path, insecure=True)

    # We need CORS for font files
    if path.endswith(('.eot', '.ttf', '.woff', '.js')):
        response['Access-Control-Allow-Origin'] = '*'

    # If we have a version, we can cache it FOREVER
    if version is not None:
        response['Cache-Control'] = 'max-age=315360000'

    return response


class TemplateView(BaseTemplateView):
    def render_to_response(self, context, **response_kwargs):
        return render_to_response(
            request=self.request,
            template=self.get_template_names(),
            context=context,
            **response_kwargs
        )

from __future__ import absolute_import

from django.views.generic import TemplateView as BaseTemplateView

from sentry.web.helpers import render_to_response


def static_media(request, **kwargs):
    """
    Serve static files below a given point in the directory structure.
    """
    from django.contrib.staticfiles.views import serve

    module = kwargs.get('module')
    path = kwargs.get('path', '')
    version = kwargs.get('version')

    if module:
        path = '%s/%s' % (module, path)

    response = serve(request, path, insecure=True)

    # We need CORS for font files
    if path.endswith(('.js' '.ttf', '.ttc', '.otf', '.eot', '.woff', '.woff2')):
        response['Access-Control-Allow-Origin'] = '*'

    # If we have a version, we can cache it FOREVER
    if version is not None:
        response['Cache-Control'] = 'max-age=315360000'

    return response


class TemplateView(BaseTemplateView):
    def render_to_response(self, context, **response_kwargs):
        return render_to_response(
            request=self.request,
            template=self.get_template_names(),
            context=context,
            **response_kwargs
        )

Cover more font extensions for CORS from static media
Cover more font extensions for CORS from static media

We were missing woff2, but this should just future proof us if more are
added.

  from __future__ import absolute_import
  
  from django.views.generic import TemplateView as BaseTemplateView
  
  from sentry.web.helpers import render_to_response
  
  
  def static_media(request, **kwargs):
      """
      Serve static files below a given point in the directory structure.
      """
      from django.contrib.staticfiles.views import serve
  
      module = kwargs.get('module')
      path = kwargs.get('path', '')
      version = kwargs.get('version')
  
      if module:
          path = '%s/%s' % (module, path)
  
      response = serve(request, path, insecure=True)
  
      # We need CORS for font files
-     if path.endswith(('.eot', '.ttf', '.woff', '.js')):
+     if path.endswith(('.js' '.ttf', '.ttc', '.otf', '.eot', '.woff', '.woff2')):
          response['Access-Control-Allow-Origin'] = '*'
  
      # If we have a version, we can cache it FOREVER
      if version is not None:
          response['Cache-Control'] = 'max-age=315360000'
  
      return response
  
  
  class TemplateView(BaseTemplateView):
      def render_to_response(self, context, **response_kwargs):
          return render_to_response(
              request=self.request,
              template=self.get_template_names(),
              context=context,
              **response_kwargs
          )
  
Cover more font extensions for CORS from static media
## Code Before:
from __future__ import absolute_import

from django.views.generic import TemplateView as BaseTemplateView

from sentry.web.helpers import render_to_response


def static_media(request, **kwargs):
    """
    Serve static files below a given point in the directory structure.
    """
    from django.contrib.staticfiles.views import serve

    module = kwargs.get('module')
    path = kwargs.get('path', '')
    version = kwargs.get('version')

    if module:
        path = '%s/%s' % (module, path)

    response = serve(request, path, insecure=True)

    # We need CORS for font files
    if path.endswith(('.eot', '.ttf', '.woff', '.js')):
        response['Access-Control-Allow-Origin'] = '*'

    # If we have a version, we can cache it FOREVER
    if version is not None:
        response['Cache-Control'] = 'max-age=315360000'

    return response


class TemplateView(BaseTemplateView):
    def render_to_response(self, context, **response_kwargs):
        return render_to_response(
            request=self.request,
            template=self.get_template_names(),
            context=context,
            **response_kwargs
        )

## Instruction:
Cover more font extensions for CORS from static media
## Code After:
from __future__ import absolute_import

from django.views.generic import TemplateView as BaseTemplateView

from sentry.web.helpers import render_to_response


def static_media(request, **kwargs):
    """
    Serve static files below a given point in the directory structure.
    """
    from django.contrib.staticfiles.views import serve

    module = kwargs.get('module')
    path = kwargs.get('path', '')
    version = kwargs.get('version')

    if module:
        path = '%s/%s' % (module, path)

    response = serve(request, path, insecure=True)

    # We need CORS for font files
    if path.endswith(('.js' '.ttf', '.ttc', '.otf', '.eot', '.woff', '.woff2')):
        response['Access-Control-Allow-Origin'] = '*'

    # If we have a version, we can cache it FOREVER
    if version is not None:
        response['Cache-Control'] = 'max-age=315360000'

    return response


class TemplateView(BaseTemplateView):
    def render_to_response(self, context, **response_kwargs):
        return render_to_response(
            request=self.request,
            template=self.get_template_names(),
            context=context,
            **response_kwargs
        )
