From 97b0d40e8a21600f10b5a555e0bbcb5cdd3a7fcc Mon Sep 17 00:00:00 2001 From: Ran Mishael Date: Tue, 24 Sep 2024 16:33:45 +0200 Subject: [PATCH] feat: PRT - adding stateful api header for hanging relays --- protocol/common/endpoints.go | 1 + protocol/rpcconsumer/rpcconsumer_server.go | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/protocol/common/endpoints.go b/protocol/common/endpoints.go index 99cd6504a..435fcde26 100644 --- a/protocol/common/endpoints.go +++ b/protocol/common/endpoints.go @@ -28,6 +28,7 @@ const ( NODE_ERRORS_PROVIDERS_HEADER_NAME = "Lava-Node-Errors-providers" REPORTED_PROVIDERS_HEADER_NAME = "Lava-Reported-Providers" USER_REQUEST_TYPE = "lava-user-request-type" + STATEFUL_API_HEADER = "lava-stateful-api" LAVA_IDENTIFIED_NODE_ERROR_HEADER = "lava-identified-node-error" LAVAP_VERSION_HEADER_NAME = "Lavap-Version" LAVA_CONSUMER_PROCESS_GUID = "lava-consumer-process-guid" diff --git a/protocol/rpcconsumer/rpcconsumer_server.go b/protocol/rpcconsumer/rpcconsumer_server.go index d74a4fd14..af11a2d95 100644 --- a/protocol/rpcconsumer/rpcconsumer_server.go +++ b/protocol/rpcconsumer/rpcconsumer_server.go @@ -1306,6 +1306,15 @@ func (rpccs *RPCConsumerServer) appendHeadersToRelayResult(ctx context.Context, }) } + // add stateful API (hanging, transactions) + if protocolMessage.GetApi().Category.Stateful == common.CONSISTENCY_SELECT_ALL_PROVIDERS { + metadataReply = append(metadataReply, + pairingtypes.Metadata{ + Name: common.STATEFUL_API_HEADER, + Value: "true", + }) + } + // add user requested API metadataReply = append(metadataReply, pairingtypes.Metadata{