use middleware-pipe