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)