added grpc get/set session metadata
This commit is contained in:
parent
c0516255f2
commit
fe95f246d4
4 changed files with 109 additions and 0 deletions
|
@ -270,6 +270,33 @@ class CoreGrpcClient:
|
|||
)
|
||||
return self.stub.SetSessionOptions(request)
|
||||
|
||||
def get_session_metadata(self, session_id):
|
||||
"""
|
||||
Retrieve session metadata as a dict with id mapping.
|
||||
|
||||
:param int session_id: id of session
|
||||
:return: response with metadata dict
|
||||
:rtype: core_pb2.GetSessionMetadataResponse
|
||||
:raises grpc.RpcError: when session doesn't exist
|
||||
"""
|
||||
request = core_pb2.GetSessionMetadataRequest(session_id=session_id)
|
||||
return self.stub.GetSessionMetadata(request)
|
||||
|
||||
def set_session_metadata(self, session_id, config):
|
||||
"""
|
||||
Set metadata for a session.
|
||||
|
||||
:param int session_id: id of session
|
||||
:param dict[str, str] config: configuration values to set
|
||||
:return: response with result of success or failure
|
||||
:rtype: core_pb2.SetSessionMetadataResponse
|
||||
:raises grpc.RpcError: when session doesn't exist
|
||||
"""
|
||||
request = core_pb2.SetSessionMetadataRequest(
|
||||
session_id=session_id, config=config
|
||||
)
|
||||
return self.stub.SetSessionMetadata(request)
|
||||
|
||||
def get_session_location(self, session_id):
|
||||
"""
|
||||
Get session location.
|
||||
|
|
|
@ -331,6 +331,35 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
|
|||
config.update(request.config)
|
||||
return core_pb2.SetSessionOptionsResponse(result=True)
|
||||
|
||||
def GetSessionMetadata(self, request, context):
|
||||
"""
|
||||
Retrieve session metadata.
|
||||
|
||||
:param core.api.grpc.core_pb2.GetSessionMetadata request: get session metadata
|
||||
request
|
||||
:param grpc.ServicerContext context: context object
|
||||
:return: get session metadata response
|
||||
:rtype: core.api.grpc.core_pb2.GetSessionMetadata
|
||||
"""
|
||||
logging.debug("get session metadata: %s", request)
|
||||
session = self.get_session(request.session_id, context)
|
||||
config = session.metadata.get_configs()
|
||||
return core_pb2.GetSessionMetadataResponse(config=config)
|
||||
|
||||
def SetSessionMetadata(self, request, context):
|
||||
"""
|
||||
Update a session's metadata.
|
||||
|
||||
:param core.api.grpc.core_pb2.SetSessionMetadata request: set metadata request
|
||||
:param grpc.ServicerContext context: context object
|
||||
:return: set metadata response
|
||||
:rtype: core.api.grpc.core_pb2.SetSessionMetadataResponse
|
||||
"""
|
||||
logging.debug("set session metadata: %s", request)
|
||||
session = self.get_session(request.session_id, context)
|
||||
session.metadata.set_configs(request.config)
|
||||
return core_pb2.SetSessionMetadataResponse(result=True)
|
||||
|
||||
def GetSession(self, request, context):
|
||||
"""
|
||||
Retrieve requested session
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue