Re: [PATCH] Support older Pythons in oauth_server.py
От | Jelte Fennema-Nio |
---|---|
Тема | Re: [PATCH] Support older Pythons in oauth_server.py |
Дата | |
Msg-id | CAGECzQSDfqy3Uw=_rox7j9+hGv0afNMsv41jSTty3JRCrfS42Q@mail.gmail.com обсуждение исходный текст |
Ответ на | [PATCH] Support older Pythons in oauth_server.py (Jacob Champion <jacob.champion@enterprisedb.com>) |
Ответы |
Re: [PATCH] Support older Pythons in oauth_server.py
|
Список | pgsql-hackers |
On Tue, 22 Apr 2025 at 21:26, Jacob Champion <jacob.champion@enterprisedb.com> wrote: > - str.removeprefix/suffix() (3.9) The way you replaced this does not have the same behaviour in the case where the prefix/suffix is not part of the string. removeprefix/suffix will not remove any characters in that case, but your code will always remove the number of characters that the suffix/prefix is long. Maybe your other checks and definition of the OAuth spec ensure that these prefixes/suffixes are present when you remove them, but the code is not the same in the general case (you'd need to add a hasprefix/suffix check before removing the characters. + # Strip off the magic path segment. (The more readable + # str.removeprefix()/removesuffix() aren't available until Py3.9.) if self._alt_issuer: # The /alternate issuer uses IETF-style .well-known URIs. if self.path.startswith("/.well-known/"): - self.path = self.path.removesuffix("/alternate") + self.path = self.path[: -len("/alternate")] else: - self.path = self.path.removeprefix("/alternate") + self.path = self.path[len("/alternate") :] elif self._parameterized: - self.path = self.path.removeprefix("/param") + self.path = self.path[len("/param") :]
В списке pgsql-hackers по дате отправления: