aboutsummaryrefslogtreecommitdiffstats
path: root/paste
diff options
context:
space:
mode:
Diffstat (limited to 'paste')
-rw-r--r--paste/__init__.py4
-rw-r--r--paste/store.py5
2 files changed, 7 insertions, 2 deletions
diff --git a/paste/__init__.py b/paste/__init__.py
index 155e927..ddd1054 100644
--- a/paste/__init__.py
+++ b/paste/__init__.py
@@ -9,7 +9,7 @@ from typing import Optional
from wsgiref.util import application_uri, request_uri
from . import db
-from .store import Store
+from .store import Auth, Store
from .types import (
App,
Closable,
@@ -155,7 +155,7 @@ def authenticate(app: App, environ: Env, start_response: StartResponse) -> Respo
value = b64decode(value.encode(), validate=True)
except (binascii.Error, UnicodeEncodeError):
return False
- return Store(environ["paste.db_conn"]).check_token(value)
+ return Auth(environ["paste.db_conn"]).check_token(value)
if environ["REQUEST_METHOD"] in {"GET", "HEAD"} or check_auth():
return app(environ, start_response)
diff --git a/paste/store.py b/paste/store.py
index f69c03d..427345b 100644
--- a/paste/store.py
+++ b/paste/store.py
@@ -89,6 +89,11 @@ class Store:
)
return cur.rowcount == 1
+
+class Auth:
+ def __init__(self, conn: Connection):
+ self.conn = conn
+
def generate_token(self):
token = token_bytes(TOKEN_BYTES)
with self.conn: