From 0f78bb8fafdef5a203fd4674f2c783f797de48ec Mon Sep 17 00:00:00 2001 From: Colton Myers Date: Mon, 8 Nov 2021 11:12:45 -0700 Subject: [PATCH 1/3] Remove socket.encrypted field --- elasticapm/contrib/aiohttp/utils.py | 2 +- elasticapm/contrib/django/client.py | 2 +- elasticapm/contrib/flask/utils.py | 2 +- elasticapm/contrib/starlette/utils.py | 2 +- elasticapm/contrib/tornado/utils.py | 2 +- tests/contrib/asyncio/aiohttp_web_tests.py | 4 ++-- tests/contrib/asyncio/starlette_tests.py | 10 +++++----- tests/contrib/asyncio/tornado/tornado_tests.py | 6 +++--- 8 files changed, 15 insertions(+), 15 deletions(-) diff --git a/elasticapm/contrib/aiohttp/utils.py b/elasticapm/contrib/aiohttp/utils.py index 745cb79f9..fc1ab66c9 100644 --- a/elasticapm/contrib/aiohttp/utils.py +++ b/elasticapm/contrib/aiohttp/utils.py @@ -38,7 +38,7 @@ def get_data_from_request(request: Request, config: Config, event_type: str): result = { "method": request.method, - "socket": {"remote_address": request.remote, "encrypted": request.secure}, + "socket": {"remote_address": request.remote}, "cookies": dict(request.cookies), } if config.capture_headers: diff --git a/elasticapm/contrib/django/client.py b/elasticapm/contrib/django/client.py index 0efe31f78..02658f938 100644 --- a/elasticapm/contrib/django/client.py +++ b/elasticapm/contrib/django/client.py @@ -118,7 +118,7 @@ def get_data_from_request(self, request, event_type): result = { "env": dict(get_environ(request.META)), "method": request.method, - "socket": {"remote_address": request.META.get("REMOTE_ADDR"), "encrypted": request.is_secure()}, + "socket": {"remote_address": request.META.get("REMOTE_ADDR")}, "cookies": dict(request.COOKIES), } if self.config.capture_headers: diff --git a/elasticapm/contrib/flask/utils.py b/elasticapm/contrib/flask/utils.py index 8d7d069a9..7bb05fa6b 100644 --- a/elasticapm/contrib/flask/utils.py +++ b/elasticapm/contrib/flask/utils.py @@ -40,7 +40,7 @@ def get_data_from_request(request, config, event_type): result = { "env": dict(get_environ(request.environ)), "method": request.method, - "socket": {"remote_address": request.environ.get("REMOTE_ADDR"), "encrypted": request.is_secure}, + "socket": {"remote_address": request.environ.get("REMOTE_ADDR")}, "cookies": request.cookies, } if config.capture_headers: diff --git a/elasticapm/contrib/starlette/utils.py b/elasticapm/contrib/starlette/utils.py index 93a2f8b9a..6d6a4492f 100644 --- a/elasticapm/contrib/starlette/utils.py +++ b/elasticapm/contrib/starlette/utils.py @@ -50,7 +50,7 @@ async def get_data_from_request(request: Request, config: Config, event_type: st """ result = { "method": request.method, - "socket": {"remote_address": _get_client_ip(request), "encrypted": request.url.is_secure}, + "socket": {"remote_address": _get_client_ip(request)}, "cookies": request.cookies, } if config.capture_headers: diff --git a/elasticapm/contrib/tornado/utils.py b/elasticapm/contrib/tornado/utils.py index 0469f4145..02884c9eb 100644 --- a/elasticapm/contrib/tornado/utils.py +++ b/elasticapm/contrib/tornado/utils.py @@ -43,7 +43,7 @@ def get_data_from_request(request_handler, request, config, event_type): """ result = { "method": request.method, - "socket": {"remote_address": request.remote_ip, "encrypted": request.protocol == "https"}, + "socket": {"remote_address": request.remote_ip}, "cookies": request.cookies, "http_version": request.version, } diff --git a/tests/contrib/asyncio/aiohttp_web_tests.py b/tests/contrib/asyncio/aiohttp_web_tests.py index 4f059391c..b8322ddf7 100644 --- a/tests/contrib/asyncio/aiohttp_web_tests.py +++ b/tests/contrib/asyncio/aiohttp_web_tests.py @@ -85,7 +85,7 @@ async def test_get(aiohttp_client, aioeapm): assert transaction["span_count"]["started"] == 1 request = transaction["context"]["request"] request["method"] == "GET" - request["socket"] == {"remote_address": "127.0.0.1", "encrypted": False} + request["socket"] == {"remote_address": "127.0.0.1"} assert span["name"] == "test" @@ -126,7 +126,7 @@ async def test_exception(aiohttp_client, aioeapm): assert transaction["type"] == "request" request = transaction["context"]["request"] assert request["method"] == "GET" - assert request["socket"] == {"remote_address": "127.0.0.1", "encrypted": False} + assert request["socket"] == {"remote_address": "127.0.0.1"} assert transaction["context"]["response"]["status_code"] == 500 assert len(elasticapm_client.events[constants.ERROR]) == 1 diff --git a/tests/contrib/asyncio/starlette_tests.py b/tests/contrib/asyncio/starlette_tests.py index 11f49adc1..dc11aa021 100644 --- a/tests/contrib/asyncio/starlette_tests.py +++ b/tests/contrib/asyncio/starlette_tests.py @@ -144,7 +144,7 @@ def test_get(app, elasticapm_client): assert transaction["span_count"]["started"] == 1 request = transaction["context"]["request"] assert request["method"] == "GET" - assert request["socket"] == {"remote_address": "127.0.0.1", "encrypted": False} + assert request["socket"] == {"remote_address": "127.0.0.1"} assert span["name"] == "test" @@ -178,7 +178,7 @@ def test_post(app, elasticapm_client): assert transaction["span_count"]["started"] == 1 request = transaction["context"]["request"] assert request["method"] == "POST" - assert request["socket"] == {"remote_address": "127.0.0.1", "encrypted": False} + assert request["socket"] == {"remote_address": "127.0.0.1"} assert request["body"] == "foo=bar" assert span["name"] == "test" @@ -208,7 +208,7 @@ def test_exception(app, elasticapm_client): assert transaction["type"] == "request" request = transaction["context"]["request"] assert request["method"] == "GET" - assert request["socket"] == {"remote_address": "127.0.0.1", "encrypted": False} + assert request["socket"] == {"remote_address": "127.0.0.1"} assert transaction["context"]["response"]["status_code"] == 500 assert len(elasticapm_client.events[constants.ERROR]) == 1 @@ -419,7 +419,7 @@ def test_static_files_only(app_static_files_only, elasticapm_client): assert transaction["context"]["request"]["url"]["pathname"] == "/tmp/" + file_name request = transaction["context"]["request"] assert request["method"] == "GET" - assert request["socket"] == {"remote_address": "127.0.0.1", "encrypted": False} + assert request["socket"] == {"remote_address": "127.0.0.1"} def test_static_files_only_file_notfound(app_static_files_only, elasticapm_client): @@ -449,7 +449,7 @@ def test_static_files_only_file_notfound(app_static_files_only, elasticapm_clien assert transaction["context"]["request"]["url"]["pathname"] == "/tmp/whatever" request = transaction["context"]["request"] assert request["method"] == "GET" - assert request["socket"] == {"remote_address": "127.0.0.1", "encrypted": False} + assert request["socket"] == {"remote_address": "127.0.0.1"} def test_make_client_with_config(): diff --git a/tests/contrib/asyncio/tornado/tornado_tests.py b/tests/contrib/asyncio/tornado/tornado_tests.py index 39da11b33..11e4d89b6 100644 --- a/tests/contrib/asyncio/tornado/tornado_tests.py +++ b/tests/contrib/asyncio/tornado/tornado_tests.py @@ -126,7 +126,7 @@ async def test_get(app, base_url, http_client): assert transaction["span_count"]["started"] == 1 request = transaction["context"]["request"] assert request["method"] == "GET" - assert request["socket"] == {"remote_address": "127.0.0.1", "encrypted": False} + assert request["socket"] == {"remote_address": "127.0.0.1"} assert span["name"] == "test" @@ -148,7 +148,7 @@ async def test_exception(app, base_url, http_client): assert transaction["type"] == "request" request = transaction["context"]["request"] assert request["method"] == "GET" - assert request["socket"] == {"remote_address": "127.0.0.1", "encrypted": False} + assert request["socket"] == {"remote_address": "127.0.0.1"} assert transaction["context"]["response"]["status_code"] == 500 assert len(elasticapm_client.events[constants.ERROR]) == 1 @@ -195,7 +195,7 @@ async def test_render(app, base_url, http_client): assert transaction["span_count"]["started"] == 2 request = transaction["context"]["request"] assert request["method"] == "GET" - assert request["socket"] == {"remote_address": "127.0.0.1", "encrypted": False} + assert request["socket"] == {"remote_address": "127.0.0.1"} span = spans[0] assert span["name"] == "test" From dca6940c708fe06dd7a05da9b89f38f498f5e256 Mon Sep 17 00:00:00 2001 From: Colton Myers Date: Tue, 9 Nov 2021 08:33:49 -0700 Subject: [PATCH 2/3] CHANGELOG --- CHANGELOG.asciidoc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 3858d2ee0..7752db932 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -47,6 +47,11 @@ endif::[] * Improve status_code handling in AWS Lambda integration {pull}1382[#1382] * Fix `aiohttp` exception handling to allow for non-500 responses including `HTTPOk` {pull}1384[#1384] +[float] +===== Other + +* Remove unused `http.request.socket.encrypted` context field {pull}1332[#1332] + [[release-notes-6.x]] === Python Agent version 6.x From 3e5295f3698d47642d30ffbb17f6b7694c6dc132 Mon Sep 17 00:00:00 2001 From: Colton Myers Date: Tue, 9 Nov 2021 09:11:03 -0700 Subject: [PATCH 3/3] Fix new aiohttp tests --- tests/contrib/asyncio/aiohttp_web_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/contrib/asyncio/aiohttp_web_tests.py b/tests/contrib/asyncio/aiohttp_web_tests.py index 40a726245..929a8e1a7 100644 --- a/tests/contrib/asyncio/aiohttp_web_tests.py +++ b/tests/contrib/asyncio/aiohttp_web_tests.py @@ -166,7 +166,7 @@ async def test_http_exception_below_500(aiohttp_client, aioeapm): assert transaction["type"] == "request" request = transaction["context"]["request"] assert request["method"] == "GET" - assert request["socket"] == {"remote_address": "127.0.0.1", "encrypted": False} + assert request["socket"] == {"remote_address": "127.0.0.1"} assert transaction["context"]["response"]["status_code"] == 200 assert len(elasticapm_client.events[constants.ERROR]) == 0