Skip to content

Commit 5ced8fb

Browse files
authored
Bring _transport.py closer to _async_transport.py (#148)
By taking advantage of NodeApiResponse and avoiding meaningless differences.
1 parent e114a73 commit 5ced8fb

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

elastic_transport/_transport.py

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ def __init__(
121121
] = None,
122122
meta_header: bool = True,
123123
client_meta_service: Tuple[str, str] = DEFAULT_CLIENT_META_SERVICE,
124-
) -> None:
124+
):
125125
"""
126126
:arg node_configs: List of 'NodeConfig' instances to create initial set of nodes.
127127
:arg node_class: subclass of :class:`~elastic_transport.BaseNode` to use
@@ -332,7 +332,7 @@ def perform_request( # type: ignore[return]
332332
node = self.node_pool.get()
333333
start_time = time.time()
334334
try:
335-
meta, raw_data = node.perform_request(
335+
resp = node.perform_request(
336336
method,
337337
target,
338338
body=request_body,
@@ -345,26 +345,32 @@ def perform_request( # type: ignore[return]
345345
method,
346346
node.base_url,
347347
target,
348-
meta.status,
348+
resp.meta.status,
349349
time.time() - start_time,
350350
)
351351
)
352352

353353
if method != "HEAD":
354-
data = self.serializers.loads(raw_data, meta.mimetype)
354+
body = self.serializers.loads(resp.body, resp.meta.mimetype)
355355
else:
356-
data = None
356+
body = None
357357

358-
if meta.status in retry_on_status:
358+
if resp.meta.status in retry_on_status:
359359
retry = True
360360
# Keep track of the last response we see so we can return
361361
# it in case the retried request returns with a transport error.
362-
last_response = TransportApiResponse(meta, data)
362+
last_response = TransportApiResponse(resp.meta, body)
363363

364364
except TransportError as e:
365365
_logger.info(
366366
"%s %s%s [status:%s duration:%.3fs]"
367-
% (method, node.base_url, target, "N/A", time.time() - start_time)
367+
% (
368+
method,
369+
node.base_url,
370+
target,
371+
"N/A",
372+
time.time() - start_time,
373+
)
368374
)
369375

370376
if isinstance(e, ConnectionTimeout):
@@ -411,8 +417,8 @@ def perform_request( # type: ignore[return]
411417
# If we got back a response we need to check if that status
412418
# is indicative of a healthy node even if it's a non-2XX status
413419
if (
414-
200 <= meta.status < 299
415-
or meta.status in NOT_DEAD_NODE_HTTP_STATUSES
420+
200 <= resp.meta.status < 299
421+
or resp.meta.status in NOT_DEAD_NODE_HTTP_STATUSES
416422
):
417423
self.node_pool.mark_live(node)
418424
else:
@@ -429,11 +435,11 @@ def perform_request( # type: ignore[return]
429435
# We either got a response we're happy with or
430436
# we've exhausted all of our retries so we return it.
431437
if not retry or attempt >= max_retries:
432-
return TransportApiResponse(meta, data)
438+
return TransportApiResponse(resp.meta, body)
433439
else:
434440
_logger.warning(
435441
"Retrying request after non-successful status %d (attempt %d of %d)",
436-
meta.status,
442+
resp.meta.status,
437443
attempt,
438444
max_retries,
439445
)

0 commit comments

Comments
 (0)