Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 6 additions & 8 deletions src/momento/internal/aio/_add_header_client_interceptor.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,8 @@ def __init__(self, name: str, value: str):


class AddHeaderStreamingClientInterceptor(grpc.aio.UnaryStreamClientInterceptor):
are_only_once_headers_sent = False

Comment on lines -19 to -20
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good find. These were class variables like this. If this were a data class, they would be instance variables.

def __init__(self, headers: list[Header]):
self.are_only_once_headers_sent = False
self._headers_to_add_once: list[Header] = list(
filter(lambda header: header.name in header.once_only_headers, headers)
)
Expand All @@ -40,18 +39,17 @@ async def intercept_unary_stream(
for header in self.headers_to_add_every_time:
new_client_call_details.metadata.add(header.name, header.value)

if not AddHeaderStreamingClientInterceptor.are_only_once_headers_sent:
if not self.are_only_once_headers_sent:
for header in self._headers_to_add_once:
new_client_call_details.metadata.add(header.name, header.value)
AddHeaderStreamingClientInterceptor.are_only_once_headers_sent = True
self.are_only_once_headers_sent = True

return await continuation(new_client_call_details, request)


class AddHeaderClientInterceptor(grpc.aio.UnaryUnaryClientInterceptor):
are_only_once_headers_sent = False

def __init__(self, headers: list[Header]):
self.are_only_once_headers_sent = False
self._headers_to_add_once: list[Header] = list(
filter(lambda header: header.name in header.once_only_headers, headers)
)
Expand All @@ -73,9 +71,9 @@ async def intercept_unary_unary(
for header in self.headers_to_add_every_time:
new_client_call_details.metadata.add(header.name, header.value)

if not AddHeaderClientInterceptor.are_only_once_headers_sent:
if not self.are_only_once_headers_sent:
for header in self._headers_to_add_once:
new_client_call_details.metadata.add(header.name, header.value)
AddHeaderClientInterceptor.are_only_once_headers_sent = True
self.are_only_once_headers_sent = True

return await continuation(new_client_call_details, request)
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,8 @@ def __init__(self, name: str, value: str):


class AddHeaderStreamingClientInterceptor(grpc.UnaryStreamClientInterceptor):
are_only_once_headers_sent = False

def __init__(self, headers: list[Header]):
self.are_only_once_headers_sent = False
self._headers_to_add_once: list[Header] = list(
filter(lambda header: header.name in header.once_only_headers, headers)
)
Expand All @@ -43,17 +42,15 @@ def intercept_unary_stream(
for header in self.headers_to_add_every_time:
new_client_call_details.metadata.append((header.name, header.value))

if not AddHeaderStreamingClientInterceptor.are_only_once_headers_sent:
if not self.are_only_once_headers_sent:
for header in self._headers_to_add_once:
new_client_call_details.metadata.append((header.name, header.value))
AddHeaderStreamingClientInterceptor.are_only_once_headers_sent = True
self.are_only_once_headers_sent = True

return continuation(new_client_call_details, request)


class AddHeaderClientInterceptor(grpc.UnaryUnaryClientInterceptor):
are_only_once_headers_sent = False

@staticmethod
def is_only_once_header(header: Header) -> bool:
return header.name in header.once_only_headers
Expand All @@ -63,6 +60,7 @@ def is_not_only_once_header(header: Header) -> bool:
return header.name not in header.once_only_headers

def __init__(self, headers: list[Header]):
self.are_only_once_headers_sent = False
self._headers_to_add_once: list[Header] = list(filter(AddHeaderClientInterceptor.is_only_once_header, headers))
self.headers_to_add_every_time = list(filter(AddHeaderClientInterceptor.is_not_only_once_header, headers))

Expand All @@ -77,9 +75,9 @@ def intercept_unary_unary(
for header in self.headers_to_add_every_time:
new_client_call_details.metadata.append((header.name, header.value))

if not AddHeaderClientInterceptor.are_only_once_headers_sent:
if not self.are_only_once_headers_sent:
for header in self._headers_to_add_once:
new_client_call_details.metadata.append((header.name, header.value))
AddHeaderClientInterceptor.are_only_once_headers_sent = True
self.are_only_once_headers_sent = True

return continuation(new_client_call_details, request)
Loading