don't return str for report
add functools.wraps to middleware for better stack traces