Firebug Lite Middleware

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from django.core import exceptions
from django.conf import settings

class FirebugMiddleware(object):

    def __init__(self):
        if not settings.DEBUG:
            raise exceptions.MiddlewareNotUsed

        try:
            self.firebug_url = settings.FIREBUG_URL
        except AttributeError:
            self.firebug_url = 'http://getfirebug.com/releases/lite/' + \
                '1.2/firebug-lite-compressed.js'

    def process_response(self, request, response):
        if (request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS and
            request.META.get('HTTP_USER_AGENT').lower().find('gecko', 0) < 0):
            index = response.content.lower().find('</head>')
            if index != -1:
                response.content = '\n'.join([response.content[:index],
                    self.firebug_html, response.content[index:]])
        return response

    @property
    def firebug_html(self):
        return '<script type="text/javascript" src="%s"></script>' % (
            self.firebug_url)

More like this

  1. Search DjangoSnippets with Firefox by Natim 4 years, 7 months ago
  2. DebugFooter middleware by simon 5 years, 11 months ago
  3. DebugFooter middleware with Pygments sql syntax highlighting by monolar 5 years, 10 months ago
  4. Inspect object debugging tag by dballanc 6 years, 9 months ago
  5. Super User Conditional Page Exception Reporting by zbyte64 5 years, 8 months ago

Comments

jfw (on October 13, 2008):

Somehow the language got set to JavaScript, and now I can't change it, but I assure you it is Python.

#

codekoala (on February 9, 2009):

Thank you for this snippet!! I've shared it with several of my friends.

#

(Forgotten your password?)