From 4a98624d2417413a7fa0b885d80da9f8d1d2caaa Mon Sep 17 00:00:00 2001 From: Pau Freixes Date: Tue, 13 Mar 2018 07:41:19 +0100 Subject: [PATCH 1/2] Fix http.URL field segment for Aiohttp extension --- aws_xray_sdk/ext/aiohttp/middleware.py | 2 +- tests/ext/aiohttp/test_aiohttp.py | 10 +++------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/aws_xray_sdk/ext/aiohttp/middleware.py b/aws_xray_sdk/ext/aiohttp/middleware.py index 74b04bdd..57f745e7 100644 --- a/aws_xray_sdk/ext/aiohttp/middleware.py +++ b/aws_xray_sdk/ext/aiohttp/middleware.py @@ -36,7 +36,7 @@ async def middleware(request, handler): ) # Store request metadata in the current segment - segment.put_http_meta(http.URL, request.url) + segment.put_http_meta(http.URL, str(request.url)) segment.put_http_meta(http.METHOD, request.method) if 'User-Agent' in request.headers: diff --git a/tests/ext/aiohttp/test_aiohttp.py b/tests/ext/aiohttp/test_aiohttp.py index 39278418..3b8b9210 100644 --- a/tests/ext/aiohttp/test_aiohttp.py +++ b/tests/ext/aiohttp/test_aiohttp.py @@ -119,9 +119,7 @@ async def test_ok(test_client, loop, recorder): response = segment.http['response'] assert request['method'] == 'GET' - assert str(request['url']).startswith('http://127.0.0.1') - assert request['url'].host == '127.0.0.1' - assert request['url'].path == '/' + assert request['url'] == 'http://127.0.0.1:{port}/'.format(port=client.port) assert response['status'] == 200 @@ -145,8 +143,7 @@ async def test_error(test_client, loop, recorder): request = segment.http['request'] response = segment.http['response'] assert request['method'] == 'GET' - assert request['url'].host == '127.0.0.1' - assert request['url'].path == '/error' + assert request['url'] == 'http://127.0.0.1:{port}/error'.format(port=client.port) assert request['client_ip'] == '127.0.0.1' assert response['status'] == 404 @@ -172,8 +169,7 @@ async def test_exception(test_client, loop, recorder): response = segment.http['response'] exception = segment.cause['exceptions'][0] assert request['method'] == 'GET' - assert request['url'].host == '127.0.0.1' - assert request['url'].path == '/exception' + assert request['url'] == 'http://127.0.0.1:{port}/exception'.format(port=client.port) assert request['client_ip'] == '127.0.0.1' assert response['status'] == 500 assert exception.type == 'KeyError' From f0719f224524aaed31c0ceb012b8b1822991c662 Mon Sep 17 00:00:00 2001 From: Pau Freixes Date: Tue, 13 Mar 2018 07:49:14 +0100 Subject: [PATCH 2/2] CHANGELOG --- CHANGELOG.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index db83e040..d2f6c949 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -6,6 +6,8 @@ unreleased ========== * feature: Use the official middleware pattern for Aiohttp ext. `PR29 `_. * bugfix: SQLAlcemy plugin would cause warning messages with some db connection strings that contained invalid characters for a segment/subsegment name. +* bugfix: Aiohttp middleware serialized URL values incorrectly `PR37 `_ + 0.96 ==== * feature: Add support for SQLAlchemy and Flask-SQLAlcemy. `PR14 `_.