github.com/craicoverflow/tyk@v2.9.6-rc3+incompatible/coprocess/python/tyk/gateway.py (about)

     1  import ctypes
     2  parent = ctypes.cdll.LoadLibrary(None)
     3  
     4  parent.TykGetData.argtypes = [ctypes.c_char_p]
     5  parent.TykGetData.restype = ctypes.c_char_p
     6  
     7  parent.TykStoreData.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int]
     8  
     9  class TykGateway():
    10      def log(message, level):
    11          message_p = ctypes.c_char_p(bytes(message, "utf-8"))
    12          level_p = ctypes.c_char_p(bytes(level, "utf-8"))
    13          parent.CoProcessLog(message_p, level_p)
    14  
    15      def log_error(message):
    16          message_p = ctypes.c_char_p(bytes(message, "utf-8"))
    17          level_p = ctypes.c_char_p(bytes("error", "utf-8"))
    18          parent.CoProcessLog(message_p, level_p)
    19  
    20      def get_data(key):
    21          key_p = ctypes.c_char_p(bytes(key, "utf-8"))
    22          return parent.TykGetData(key_p)
    23  
    24      def store_data(key, value, ttl):
    25          key_p = ctypes.c_char_p(bytes(key, "utf-8"))
    26          value_p = ctypes.c_char_p(bytes(value, "utf-8"))
    27          ttl_int = ctypes.c_int(ttl)
    28          parent.TykStoreData(key_p, value_p, ttl_int)
    29  
    30      def trigger_event(name, payload):
    31          name_p = ctypes.c_char_p(bytes(name, "utf-8"))
    32          payload_p = ctypes.c_char_p(bytes(payload, "utf-8"))
    33          parent.TykTriggerEvent(name_p, payload_p)