diff --git a/swh/lister/github/lister.py b/swh/lister/github/lister.py --- a/swh/lister/github/lister.py +++ b/swh/lister/github/lister.py @@ -23,6 +23,19 @@ logger = logging.getLogger(__name__) +def init_session(session: Optional[requests.Session] = None) -> requests.Session: + """Initialize a requests session with the proper headers for requests to + GitHub.""" + if not session: + session = requests.Session() + + session.headers.update( + {"Accept": "application/vnd.github.v3+json", "User-Agent": USER_AGENT} + ) + + return session + + @dataclass class GitHubListerState: """State of the GitHub lister""" @@ -88,10 +101,7 @@ self.relisting = self.first_id is not None or self.last_id is not None - self.session = requests.Session() - self.session.headers.update( - {"Accept": "application/vnd.github.v3+json", "User-Agent": USER_AGENT} - ) + self.session = init_session() random.shuffle(self.credentials)