changing require-login into a macro that wraps a route from the outside, soon to wrap multiple ones from the outside.