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

     1  from inspect import getargspec
     2  
     3  
     4  class HandlerDecorator(object):
     5      def __init__(self, f):
     6          self.name = f.__name__
     7          self.f = f
     8  
     9      def __call__(self, req, sess, spec):
    10          self.f
    11  
    12  
    13  class Hook(object):
    14      def __init__(self, f):
    15          self.name = f.__name__
    16          self.f = f
    17          self.arg_count = len(getargspec(f)[0])
    18  
    19      def __call__(self, *args, **kwargs):
    20          if self.arg_count == 3:
    21              return self.f(args[0], args[1], args[2])
    22          if self.arg_count == 4:
    23              return self.f(args[0], args[1], args[2], args[3])
    24  
    25  
    26  class Pre(HandlerDecorator):
    27      def __call__(self, req, sess, spec):
    28          return self.f(req, sess, spec)
    29  
    30  
    31  class Post(HandlerDecorator):
    32      def __call__(self, req, sess, spec):
    33          return self.f(req, sess, spec)
    34  
    35  
    36  class PostKeyAuth(HandlerDecorator):
    37      def __call__(self, req, sess, spec):
    38          return self.f(req, sess, spec)
    39  
    40  
    41  class CustomKeyCheck():
    42      def __init__(self, f):
    43          self.f = f
    44          self.name = f.__name__
    45  
    46      def __call__(self, req, sess, metadata, spec):
    47          return self.f(req, sess, metadata, spec)
    48  
    49  
    50  class Event(object):
    51      def __init__(self, f):
    52          self.name = f.__name__
    53          self.f = f
    54  
    55      def __call__(self, event, spec):
    56          self.f(event, spec)
    57  
    58  
    59  def ThisIsNotADecorator():
    60      pass