Add custom_params to completion_route

Since the method `completion_route` is used instead of the path method it doesn't support setting parameters. It would be nice if we could pass parameters while still using the `completion_route` method.

This is a remake of #5658 to be merged into `master`
`end` at 270, 7 is not aligned with `self.number ||= loop do` at 260, 6