Project

General

Profile

Download (1.26 KB) Statistics
| Branch: | Tag: | Revision:
d20914d0 David Sorber
import re

from hbkif.controllers.status import StatusController
from hbkif.controllers.version import VersionController

class Delegator(object):

def __init__(self):
pass

def __call__(self, environ, start_response):
path = environ['PATH_INFO']

if re.match('^/status(/)?$', path):
# Authenticate user
controller = StatusController(environ)
status, headers, body = controller.generate_response()
elif re.match('^/version(/)?$', path):
# All bookmarks page
controller = VersionController(environ)
status, headers, body = controller.generate_response()
else:
# User supplied an invalid URL
status = '200 OK'
body = 'hbkif is working!\n\nInvalid URL "{:s}"'.format(environ['PATH_INFO'])
body = body.encode()
headers = [('Content-Type', 'text/plain'),
('Content-Length', str(len(body)))]

# Send the status and response headers to the server
start_response(status, headers)
# Return the response body. (Notice it is wrapped in a list although it
# could be any iterable.)
return [body]

# Set the callable object
application = Delegator()