This should live outside of the http namespace since it's not strictly http