def headers(h):
    """Decorator adding arbitrary HTTP headers to the response.

    This decorator adds HTTP headers specified in the argument (map), to the
    HTTPResponse returned by the function being decorated.

    Example:

    @headers({'Refresh': '10', 'X-Bender': 'Bite my shiny, metal ass!'})
    def index(request):
        ....
    """
    def headers_wrapper(fun):
        def wrapped_function(*args, **kwargs):
            response = fun(*args, **kwargs)
            for k,v in h.iteritems():
                response[k] = v
            return response
        return wrapped_function
    return headers_wrapper