|
31 | 31 | from .utils.collections import HashedSeq
|
32 | 32 | from .utils.functional import dictfilter, lazy, retry_over_time, shufflecycle
|
33 | 33 | from .utils.objects import cached_property
|
34 |
| -from .utils.url import as_url, parse_url, quote, urlparse |
| 34 | +from .utils.url import as_url, parse_url, quote, urlparse, maybe_sanitize_url |
35 | 35 |
|
36 | 36 | __all__ = ('Connection', 'ConnectionPool', 'ChannelPool')
|
37 | 37 |
|
@@ -656,11 +656,17 @@ def as_uri(self, include_password=False, mask='**',
|
656 | 656 | """Convert connection parameters to URL form."""
|
657 | 657 | hostname = self.hostname or 'localhost'
|
658 | 658 | if self.transport.can_parse_url:
|
| 659 | + connection_as_uri = self.hostname |
659 | 660 | if self.uri_prefix:
|
660 |
| - return '%s+%s' % (self.uri_prefix, hostname) |
661 |
| - return self.hostname |
| 661 | + connection_as_uri = '%s+%s' % (self.uri_prefix, hostname) |
| 662 | + if not include_password: |
| 663 | + connection_as_uri = maybe_sanitize_url(connection_as_uri) |
| 664 | + return connection_as_uri |
662 | 665 | if self.uri_prefix:
|
663 |
| - return '%s+%s' % (self.uri_prefix, hostname) |
| 666 | + connection_as_uri = '%s+%s' % (self.uri_prefix, hostname) |
| 667 | + if not include_password: |
| 668 | + connection_as_uri = maybe_sanitize_url(connection_as_uri) |
| 669 | + return connection_as_uri |
664 | 670 | fields = self.info()
|
665 | 671 | port, userid, password, vhost, transport = getfields(fields)
|
666 | 672 |
|
|
0 commit comments