Mercurial > libervia-backend
comparison libervia/backend/plugins/plugin_comp_ap_gateway/http_server.py @ 4109:7067b0d73183
component AP gateway: fix AP media type in GET and POST requests headers
author | Goffi <goffi@goffi.org> |
---|---|
date | Thu, 06 Jul 2023 11:34:52 +0200 |
parents | 58bbc100f13b |
children | 5f2d496c633f |
comparison
equal
deleted
inserted
replaced
4108:238e305f2306 | 4109:7067b0d73183 |
---|---|
39 from libervia.backend.core.log import getLogger | 39 from libervia.backend.core.log import getLogger |
40 from libervia.backend.tools.common import date_utils, uri | 40 from libervia.backend.tools.common import date_utils, uri |
41 from libervia.backend.memory.sqla_mapping import SubscriptionState | 41 from libervia.backend.memory.sqla_mapping import SubscriptionState |
42 | 42 |
43 from .constants import ( | 43 from .constants import ( |
44 NS_AP, MEDIA_TYPE_AP, CONTENT_TYPE_WEBFINGER, CONTENT_TYPE_AP, TYPE_ACTOR, TYPE_INBOX, | 44 NS_AP, MEDIA_TYPE_AP, MEDIA_TYPE_AP_ALT, CONTENT_TYPE_WEBFINGER, CONTENT_TYPE_AP, |
45 TYPE_SHARED_INBOX, TYPE_OUTBOX, TYPE_EVENT, AP_REQUEST_TYPES, PAGE_SIZE, | 45 TYPE_ACTOR, TYPE_INBOX, TYPE_SHARED_INBOX, TYPE_OUTBOX, TYPE_EVENT, AP_REQUEST_TYPES, |
46 ACTIVITY_TYPES_LOWER, ACTIVIY_NO_ACCOUNT_ALLOWED, SIGN_HEADERS, HS2019, SIGN_EXP, | 46 PAGE_SIZE, ACTIVITY_TYPES_LOWER, ACTIVIY_NO_ACCOUNT_ALLOWED, SIGN_HEADERS, HS2019, |
47 TYPE_FOLLOWERS, TYPE_FOLLOWING, TYPE_ITEM, TYPE_LIKE, TYPE_REACTION, ST_AP_CACHE | 47 SIGN_EXP, TYPE_FOLLOWERS, TYPE_FOLLOWING, TYPE_ITEM, TYPE_LIKE, TYPE_REACTION, |
48 ST_AP_CACHE | |
48 ) | 49 ) |
49 from .regex import RE_SIG_PARAM | 50 from .regex import RE_SIG_PARAM |
50 | 51 |
51 | 52 |
52 log = getLogger(__name__) | 53 log = getLogger(__name__) |
966 ap_url = parse.urljoin( | 967 ap_url = parse.urljoin( |
967 f"https://{self.apg.public_url}", | 968 f"https://{self.apg.public_url}", |
968 path | 969 path |
969 ) | 970 ) |
970 request_type, extra_args = self.apg.parse_apurl(ap_url) | 971 request_type, extra_args = self.apg.parse_apurl(ap_url) |
971 if ((MEDIA_TYPE_AP not in (request.getHeader("accept") or "") | 972 header_accept = request.getHeader("accept") or "" |
973 if ((MEDIA_TYPE_AP not in header_accept | |
974 and MEDIA_TYPE_AP_ALT not in header_accept | |
972 and request_type in self.apg.html_redirect)): | 975 and request_type in self.apg.html_redirect)): |
973 # this is not a AP request, and we have a redirections for it | 976 # this is not a AP request, and we have a redirections for it |
974 kw = {} | 977 kw = {} |
975 if extra_args: | 978 if extra_args: |
976 kw["jid"], kw["node"] = await self.apg.get_jid_and_node(extra_args[0]) | 979 kw["jid"], kw["node"] = await self.apg.get_jid_and_node(extra_args[0]) |