general: log Publik-Caller header (#83111)
gitea/passerelle/pipeline/head This commit looks good
Details
gitea/passerelle/pipeline/head This commit looks good
Details
This commit is contained in:
parent
979e531b3a
commit
2a73e4dfb3
|
@ -474,16 +474,18 @@ class GenericEndpointView(GenericConnectorMixin, SingleObjectMixin, View):
|
|||
connector_name, endpoint_name = kwargs['connector'], kwargs['endpoint']
|
||||
url = request.get_full_path()
|
||||
|
||||
logger_extra = {
|
||||
'request': request,
|
||||
'connector': connector_name,
|
||||
'connector_endpoint': endpoint_name,
|
||||
'connector_endpoint_url': url,
|
||||
'publik_caller_url': request.headers.get('Publik-Caller-URL', ''),
|
||||
}
|
||||
if request.method.lower() not in self.endpoint.endpoint_info.methods:
|
||||
logger_extra['connector_endpoint_method'] = self._allowed_methods()
|
||||
self.connector.logger.warning(
|
||||
'endpoint %s %s (=> 405)' % (request.method, url),
|
||||
extra={
|
||||
'request': request,
|
||||
'connector': connector_name,
|
||||
'connector_endpoint': endpoint_name,
|
||||
'connector_endpoint_method': self._allowed_methods(),
|
||||
'connector_endpoint_url': url,
|
||||
},
|
||||
extra=logger_extra,
|
||||
)
|
||||
return self.http_method_not_allowed(request, *args, **kwargs)
|
||||
|
||||
|
@ -496,16 +498,15 @@ class GenericEndpointView(GenericConnectorMixin, SingleObjectMixin, View):
|
|||
except UnicodeDecodeError:
|
||||
payload = '<BINARY PAYLOAD>'
|
||||
|
||||
logger_extra.update(
|
||||
{
|
||||
'connector_endpoint_method': request.method,
|
||||
'connector_payload': payload,
|
||||
}
|
||||
)
|
||||
self.connector.logger.info(
|
||||
'endpoint %s %s (%r) ' % (request.method, url, payload),
|
||||
extra={
|
||||
'request': request,
|
||||
'connector': connector_name,
|
||||
'connector_endpoint': endpoint_name,
|
||||
'connector_endpoint_method': request.method,
|
||||
'connector_endpoint_url': url,
|
||||
'connector_payload': payload,
|
||||
},
|
||||
extra=logger_extra,
|
||||
)
|
||||
|
||||
if not self.check_perms(request):
|
||||
|
|
|
@ -110,6 +110,7 @@ def test_proxy_logger(mocked_get, caplog, app, arcgis):
|
|||
'template': '{{ attributes.NOM }}',
|
||||
'id_template': '{{ attributes.NUMERO }}',
|
||||
},
|
||||
headers={'Publik-Caller-URL': 'https://wcs.invalid/backoffice/management/foo/1/'},
|
||||
status=200,
|
||||
)
|
||||
|
||||
|
@ -122,6 +123,7 @@ def test_proxy_logger(mocked_get, caplog, app, arcgis):
|
|||
assert log.extra['connector'] == 'arcgis'
|
||||
assert log.extra['connector_endpoint'] == 'mapservice-query'
|
||||
assert log.extra['connector_endpoint_method'] == 'GET'
|
||||
assert log.extra['publik_caller_url'] == 'https://wcs.invalid/backoffice/management/foo/1/'
|
||||
assert '/arcgis/test/mapservice-query?' in log.extra['connector_endpoint_url']
|
||||
|
||||
# Resource Generic Logger
|
||||
|
|
Loading…
Reference in New Issue