uses ToResponseMarshaller so the HTTP response code can be properly set