code: def route(self, host, rule, **options):
          
          def decorator(func):
              endpoint = "{func.__module__}:{func.__name__}".format(func=func)
              self.record_action("add_url_rule", host, rule, endpoint, **options)
              return func
          return decorator
docs: The decorator to register wrapped function as the brown ant app.
  
          All optional parameters of this method are compatible with the
          :meth:`~brownant.app.Brownant.add_url_rule`.
  
          Registered functions or classes must be import-able with its qualified
          name. It is different from the :class:`~flask.Flask`, but like a
          lazy-loading mode. Registered objects only be loaded before the first
          using.
  
          The right way::
  
              @site.route("www.example.com", "/item/<int:item_id>")
              def spam(request, item_id):
                  pass
  
          The wrong way::
  
              def egg():
                  # the function could not be imported by its qualified name
                  @site.route("www.example.com", "/item/<int:item_id>")
                  def spam(request, item_id):
                      pass
  
              egg()
  
          :param host: the limited host name.
          :param rule: the URL path rule as string.
          :param options: the options to be forwarded to the
                          :class:`werkzeug.routing.Rule` object.