# Path: moth/views/base/html_template_view.py
# class HTMLTemplateView(VulnerableTemplateView):
#     '''
#     All vulnerabilities inherit from this template, which will render the data
#     returned by the subclasses, disable anti-CSRF, etc.
#     '''
#     # If the subclass just wants to return static HTML, we give him a shortcut
#     # where he doesn't define the get method, just sets HTML and we'll do the
#     # rest
#     HTML = None
# 
#     def get(self, request, *args, **kwds):
#         if self.HTML is None:
#             raise RuntimeError('HTML needs to be set.')
#         
#         context = self.get_context_data()
#         context['html'] = self.HTML
# 
#         response = render(request, self.template_name, context)
# 
#         for key, value in self.extra_headers.iteritems():
#             response[key] = value
# 
#         return response


from django.views.decorators.gzip import gzip_page
from django.shortcuts import render
from django.utils.decorators import method_decorator
from moth.views.base.html_template_view import HTMLTemplateView



class GzipEncodingView(HTMLTemplateView):
    description = title = 'This view uses Gzip to encode the response'
    url_path = 'gzip.html'
    
    @method_decorator(gzip_page)
    def get(self, request, *args, **kwds):
        context = self.get_context_data()
        context['html'] = 'View HTTP response headers.'

# Path: moth/views/base/html_template_view.py
# class HTMLTemplateView(VulnerableTemplateView):
#     '''
#     All vulnerabilities inherit from this template, which will render the data
#     returned by the subclasses, disable anti-CSRF, etc.
#     '''
#     # If the subclass just wants to return static HTML, we give him a shortcut
#     # where he doesn't define the get method, just sets HTML and we'll do the
#     # rest
#     HTML = None
# 
#     def get(self, request, *args, **kwds):
#         if self.HTML is None:
#             raise RuntimeError('HTML needs to be set.')
#         
#         context = self.get_context_data()
#         context['html'] = self.HTML
# 
#         response = render(request, self.template_name, context)
# 
#         for key, value in self.extra_headers.iteritems():
#             response[key] = value
# 
#         return response


# Path: moth/views/vulnerabilities/core/gzip.py
from django.views.decorators.gzip import gzip_page
from django.shortcuts import render
from django.utils.decorators import method_decorator
from moth.views.base.html_template_view import HTMLTemplateView




class GzipEncodingView(HTMLTemplateView):
    description = title = 'This view uses Gzip to encode the response'
    url_path = 'gzip.html'
    
    @method_decorator(gzip_page)
    def get(self, request, *args, **kwds):
        context = self.get_context_data()
        context['html'] = 'View HTTP response headers.'

        return render(request, self.template_name, context)