Skip to content

Commit 6d6ebb8

Browse files
committed
fix: pr feedback
Signed-off-by: Konvalinka <[email protected]>
1 parent 7f692a6 commit 6d6ebb8

File tree

1 file changed

+10
-12
lines changed
  • providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/resolvers/process/connector

1 file changed

+10
-12
lines changed

providers/openfeature-provider-flagd/src/openfeature/contrib/provider/flagd/resolvers/process/connector/grpc_watcher.py

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import grpc
88
from google.protobuf.json_format import MessageToDict
9+
from grpc import StatusCode
910

1011
from openfeature.evaluation_context import EvaluationContext
1112
from openfeature.event import ProviderEventDetails
@@ -209,20 +210,22 @@ def _create_request_args(self) -> dict:
209210

210211
return request_args
211212

212-
def _fetch_metadata(self) -> typing.Optional[sync_pb2.GetMetadataResponse]:
213+
def _fetch_metadata(self) -> dict:
213214
if self.config.sync_metadata_disabled:
214-
return None
215+
return {}
215216

216217
context_values_request = sync_pb2.GetMetadataRequest()
217-
context_values_response: sync_pb2.GetMetadataResponse
218218
try:
219219
context_values_response = self.stub.GetMetadata(
220220
context_values_request, wait_for_ready=True
221221
)
222-
return context_values_response
222+
return MessageToDict(context_values_response)
223223
except grpc.RpcError as e:
224-
logger.debug(f"Error getting sync metadata: {e}")
225-
return None
224+
if e.code() == StatusCode.UNIMPLEMENTED:
225+
logger.debug("Metadata endpoint disabled")
226+
return {}
227+
else:
228+
raise e
226229

227230
def listen(self) -> None:
228231
call_args = (
@@ -234,7 +237,7 @@ def listen(self) -> None:
234237

235238
while self.active:
236239
try:
237-
context_values_response = self._fetch_metadata()
240+
context_values = self._fetch_metadata()["metadata"]
238241

239242
request = sync_pb2.SyncFlagsRequest(**request_args)
240243

@@ -248,13 +251,8 @@ def listen(self) -> None:
248251
)
249252
self.flag_store.update(json.loads(flag_str))
250253

251-
context_values = {}
252254
if flag_rsp.sync_context:
253255
context_values = MessageToDict(flag_rsp.sync_context)
254-
elif context_values_response:
255-
context_values = MessageToDict(context_values_response)[
256-
"metadata"
257-
]
258256

259257
if not self.connected:
260258
self.emit_provider_ready(

0 commit comments

Comments
 (0)