github.com/anuvu/tyk@v2.9.0-beta9-dl-apic+incompatible/coprocess/python/tyk/object.py (about)

     1  from tyk.session import TykSession
     2  from tyk.request import TykCoProcessRequest
     3  
     4  import coprocess_common_pb2 as HookType
     5  
     6  from coprocess_object_pb2 import Object
     7  from coprocess_mini_request_object_pb2 import MiniRequestObject
     8  from coprocess_return_overrides_pb2 import ReturnOverrides
     9  from coprocess_session_state_pb2 import SessionState
    10  
    11  
    12  class TykCoProcessObject:
    13      def __init__(self, object_msg):
    14          self.object = Object()
    15          try:
    16              self.object.ParseFromString(object_msg)
    17          except:
    18              # TODO: add error handling
    19              pass
    20  
    21          self.request = TykCoProcessRequest(self.object.request)
    22          # self.session = TykSession(self.object.session)
    23          self.session = self.object.session
    24          self.spec = self.object.spec
    25          self.metadata = self.object.metadata
    26          self.hook_name = self.object.hook_name
    27  
    28          if self.object.hook_type == HookType.Unknown:
    29              self.hook_type = ''
    30          elif self.object.hook_type == HookType.Pre:
    31              self.hook_type = 'pre'
    32          elif self.object.hook_type == HookType.Post:
    33              self.hook_type = 'post'
    34          elif self.object.hook_type == HookType.PostKeyAuth:
    35              self.hook_type = 'postkeyauth'
    36          elif self.object.hook_type == HookType.CustomKeyCheck:
    37              self.hook_type = 'customkeycheck'
    38  
    39      def dump(self):
    40          new_object = self.object.SerializeToString()
    41          return new_object, len(new_object)