| 599 | return self.where(prefixes=prefixes, **overrides) |
| 600 | |
| 601 | def where(self, **overrides): |
| 602 | if "urls" in overrides: |
| 603 | existing_urls = self.route.get("urls", ()) |
| 604 | use_urls = [] |
| 605 | for url in ( |
| 606 | (overrides["urls"],) if isinstance(overrides["urls"], str) else overrides["urls"] |
| 607 | ): |
| 608 | if url.startswith("/") or not existing_urls: |
| 609 | use_urls.append(url) |
| 610 | else: |
| 611 | for existing in existing_urls: |
| 612 | use_urls.append(urljoin(existing.rstrip("/") + "/", url)) |
| 613 | overrides["urls"] = tuple(use_urls) |
| 614 | |
| 615 | return super().where(**overrides) |