HttpController wraps request lifecycle