refactor HttpRequiresAction