I honestly don't know how your OLD rule worked as you issues a redirect to an error string. The usage for HTTP::redirect is
You have the same issue for your HTTP::respond. The Location header takes a url, not a string.
Otherwise it should work for you. Check out the wiki pages for HTTP::redirect and HTTP::respond for some examples.