Update value of User-Agent HTTP request header used by listers

That HTTP header value will now contain the lister name but also a link
to our contact form in order for sysadmins to easily reach us if needed.

The following template is used to generate it:

"Software Heritage <lister_name> lister v<swh-lister version>
 (+https://www.softwareheritage.org/contact)"
This commit is contained in:
Antoine Lambert 2022-09-22 15:43:20 +02:00
parent db6ce12e9e
commit d5c30a3ce3
11 changed files with 38 additions and 36 deletions

View file

@ -18,7 +18,7 @@ from swh.core.utils import grouper
from swh.scheduler import get_scheduler, model
from swh.scheduler.interface import SchedulerInterface
from . import USER_AGENT
from . import USER_AGENT_TEMPLATE
from .utils import http_retry
logger = logging.getLogger(__name__)
@ -124,7 +124,9 @@ class Lister(Generic[StateType, PageType]):
self.session = requests.Session()
# Declare the USER_AGENT is more sysadm-friendly for the forge we list
self.session.headers.update({"User-Agent": USER_AGENT})
self.session.headers.update(
{"User-Agent": USER_AGENT_TEMPLATE % self.LISTER_NAME}
)
@http_retry(before_sleep=before_sleep_log(logger, logging.WARNING))
def http_request(self, url: str, method="GET", **kwargs) -> requests.Response: