Record users' most recent HTTP headers

このコミットが含まれているのは:
n9k 2022-06-29 03:35:09 +00:00
コミット 492078f6ce
2個のファイルの変更13行の追加3行の削除

ファイルの表示

@ -23,7 +23,8 @@ def generate_token_hash_and_tag(token):
return token_hash, tag return token_hash, tag
def generate_user( def generate_user(
timestamp, token, broadcaster, verified=False, presence=Presence.NOTWATCHING, timestamp, token, broadcaster,
verified=False, presence=Presence.NOTWATCHING, headers=None,
): ):
colour = generate_colour( colour = generate_colour(
seed='name\0' + token, seed='name\0' + token,
@ -54,6 +55,7 @@ def generate_user(
'total': 0, 'total': 0,
'current': {}, 'current': {},
}, },
'headers': headers,
} }
def get_default_name(user): def get_default_name(user):

ファイルの表示

@ -72,7 +72,7 @@ def auth_required(f):
return wrapper return wrapper
def generate_and_add_user( def generate_and_add_user(
timestamp, token=None, broadcaster=False, verified=False, timestamp, token=None, broadcaster=False, verified=False, headers=None,
): ):
token = token or generate_token() token = token or generate_token()
user = generate_user( user = generate_user(
@ -80,6 +80,7 @@ def generate_and_add_user(
token=token, token=token,
broadcaster=broadcaster, broadcaster=broadcaster,
verified=verified, verified=verified,
headers=headers,
) )
USERS_BY_TOKEN[token] = user USERS_BY_TOKEN[token] = user
USERS_UPDATE_BUFFER.add(token) USERS_UPDATE_BUFFER.add(token)
@ -132,6 +133,7 @@ def with_user_from(context, fallback_to_token=False):
if CONFIG['ACCESS_CAPTCHA'] and not broadcaster: if CONFIG['ACCESS_CAPTCHA'] and not broadcaster:
if user is not None: if user is not None:
user['last']['seen'] = timestamp user['last']['seen'] = timestamp
user['headers'] = tuple(context.headers)
response = await f(timestamp, user, *args, **kwargs) response = await f(timestamp, user, *args, **kwargs)
elif fallback_to_token: elif fallback_to_token:
#assert not broadcaster #assert not broadcaster
@ -146,8 +148,14 @@ def with_user_from(context, fallback_to_token=False):
else: else:
if user is not None: if user is not None:
user['last']['seen'] = timestamp user['last']['seen'] = timestamp
user['headers'] = tuple(context.headers)
else: else:
user = generate_and_add_user(timestamp, token, broadcaster) user = generate_and_add_user(
timestamp,
token,
broadcaster,
headers=tuple(context.headers),
)
response = await f(timestamp, user, *args, **kwargs) response = await f(timestamp, user, *args, **kwargs)
# Set cookie # Set cookie