code: def methods(self):
          
          ret = {}
          method_regex = re.compile(r"^[A-Z][A-Z0-9]+(_|$)")
          controller_methods = inspect.getmembers(self.controller_class)
          for controller_method_name, controller_method in controller_methods:
              if controller_method_name.startswith('_'): continue
  
              if method_regex.match(controller_method_name):
                  method = self.method_class(
                      controller_method_name,
                      controller_method,
                      controller=self
                  )
                  ret.setdefault(method.name, [])
                  ret[method.name].append(method)
  
          return ret
docs: return the supported http method options that this class supports
          return what http method options this endpoint supports (eg, POST, GET)
  
          http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
  
          :returns: dict, each http method (eg, GET, POST) will have a key with the value
              being every method from the controller that can satisfy the http method