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

     1  """
     2  This module provides interface compatibility and flexibility for the C glue code in tyk/gateway_wrapper.c
     3  """
     4  from sys import exc_info
     5  
     6  import gateway_wrapper as gw
     7  
     8  
     9  class TykGateway:
    10  
    11      @classmethod
    12      def store_data(cls, key, value, ttl):
    13          gw.store_data(key, value, ttl)
    14  
    15      @classmethod
    16      def get_data(cls, key):
    17          return gw.get_data(key)
    18  
    19      @classmethod
    20      def trigger_event(cls, event_name, payload):
    21          gw.trigger_event(event_name, payload)
    22  
    23      @classmethod
    24      def log(cls, msg, level):
    25          gw.log(msg, level)
    26  
    27      @classmethod
    28      def log_error(cls, *args):
    29          excp = exc_info()
    30          nargs = len(args)
    31          # For simpler errors:
    32          if nargs == 1:
    33              cls.log(args[0], "error")
    34              return
    35          if nargs == 0:
    36              cls.log("{0} {1}".format(excp[0], excp[1]), "error")
    37          else:
    38              cls.log("{0} {1} {2}".format(args[0], excp[0], excp[1]), "error")