'Attach a callback to a hook. Three hooks are currently implemented:
before_request
Executed once before each request. The request context is
available, but no routing has happened yet.
after_request
Executed once after each request regardless of its outcome.
app_reset
Called whenever :meth:`Bottle.reset` is called.'

def add_hook(self, name, func):

    if (name in self.__hook_reversed):
        self._hooks[name].insert(0, func)
    else:
        self._hooks[name].append(func)
