Merge pull request #435 from renatolond/misc/add_user_agent_to_calls

Add BookWyrm user-agent to http requests
This commit is contained in:
Mouse Reeve 2020-12-30 11:53:12 -08:00 committed by GitHub
commit 673d70aca9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 3 deletions

View file

@ -3,7 +3,7 @@ import json
from django.utils.http import http_date
import requests
from bookwyrm import models
from bookwyrm import models, settings
from bookwyrm.activitypub import ActivityEncoder
from bookwyrm.tasks import app
from bookwyrm.signatures import make_signature, make_digest
@ -79,6 +79,7 @@ def sign_and_send(sender, data, destination):
'Digest': digest,
'Signature': make_signature(sender, destination, now, digest),
'Content-Type': 'application/activity+json; charset=utf-8',
'User-Agent': settings.USER_AGENT,
},
)
if not response.ok:

View file

@ -8,7 +8,7 @@ import requests
from requests import HTTPError
from requests.exceptions import SSLError
from bookwyrm import activitypub, models
from bookwyrm import activitypub, models, settings
class ConnectorException(HTTPError):
@ -42,6 +42,7 @@ class AbstractMinimalConnector(ABC):
'%s%s' % (self.search_url, query),
headers={
'Accept': 'application/json; charset=utf-8',
'User-Agent': settings.USER_AGENT,
},
)
if not resp.ok:
@ -196,6 +197,7 @@ def get_data(url):
url,
headers={
'Accept': 'application/json; charset=utf-8',
'User-Agent': settings.USER_AGENT,
},
)
except RequestError:
@ -213,7 +215,12 @@ def get_data(url):
def get_image(url):
''' wrapper for requesting an image '''
try:
resp = requests.get(url)
resp = requests.get(
url,
headers={
'User-Agent': settings.USER_AGENT,
},
)
except (RequestError, SSLError):
return None
if not resp.ok:

View file

@ -3,6 +3,8 @@ import os
from environs import Env
import requests
env = Env()
DOMAIN = env('DOMAIN')
@ -150,3 +152,7 @@ STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, env('STATIC_ROOT', 'static'))
MEDIA_URL = '/images/'
MEDIA_ROOT = os.path.join(BASE_DIR, env('MEDIA_ROOT', 'images'))
USER_AGENT = "%s (BookWyrm/%s; +https://%s/)" % (requests.utils.default_user_agent(),
"0.1", # TODO: change 0.1 into actual version
DOMAIN)