feat: TokenFileName

This commit is contained in:
shifengbin 2024-02-08 09:26:40 +01:00 committed by Pierre Ossman
parent 43c371fc7a
commit 0427f63f96
1 changed files with 17 additions and 0 deletions

View File

@ -65,6 +65,23 @@ class TokenFile(ReadOnlyTokenFile):
return super().lookup(token)
class TokenFileName(BasePlugin):
# source is a directory
# token is filename
# contents of file is host:port
def __init__(self, src):
super().__init__(src)
if not os.path.isdir(src):
raise Exception("TokenFileName plugin requires a directory")
def lookup(self, token):
token = os.path.basename(token)
path = os.path.join(self.source, token)
if os.path.exists(path):
return open(path).read().strip().split(':')
else:
return None
class BaseTokenAPI(BasePlugin):
# source is a url with a '%s' in it where the token