#!/usr/bin/env python
from hashlib import md5

from circuits import Component, handler
from circuits.web import Controller, Server
from circuits.web.tools import basic_auth, check_auth


class Auth(Component):

    realm = "Test"
    users = {"admin": md5("admin").hexdigest()}

    @handler("request", priority=1.0)
    def on_request(self, event, request, response):
        """Filter Requests applying Basic Authentication

        Filter any incoming requests at a higher priority than the
        default dispatcher and apply Basic Authentication returning
        a 403 Forbidden response if Authentication failed.
        """

        if not check_auth(request, response, self.realm, self.users):
            event.stop()
            return basic_auth(request, response, self.realm, self.users)


class Root(Controller):

    def index(self):
        return "Hello World!"


app = Server(("0.0.0.0", 8000))
Auth().register(app)
Root().register(app)
app.run()

#!/usr/bin/env python
from hashlib import md5

from circuits import Component, handler
from circuits.web import Controller, Server
from circuits.web.tools import basic_auth, check_auth


class Auth(Component):

    realm = "Test"
    users = {"admin": md5("admin").hexdigest()}

    @handler("request", priority=1.0)
    def on_request(self, event, request, response):
        """Filter Requests applying Basic Authentication

        Filter any incoming requests at a higher priority than the
        default dispatcher and apply Basic Authentication returning
        a 403 Forbidden response if Authentication failed.
        """

        if not check_auth(request, response, self.realm, self.users):
            event.stop()
            return basic_auth(request, response, self.realm, self.users)


class Root(Controller):

    def index(self):
        return "Hello World!"


app = Server(("0.0.0.0", 8000))
Auth().register(app)
Root().register(app)
app.run()

#!/usr/bin/env python Filter Requests applying Basic Authentication          Filter any incoming requests at a higher priority than the         default dispatcher and apply Basic Authentication returning         a 403 Forbidden response if Authentication failed.