code: def add(self, path, default_handler = None, **http_methods):
          
          if default_handler:
              methods = defaultdict(lambda: default_handler, http_methods.copy())
          else:
              methods = http_methods.copy()
          self.mappings.append((re.compile(path.decode('utf8')), methods, (path.find(r'\?')>-1) ))
docs: Add a selector mapping.
  
          add(path, default_handler, **named_handlers)
  
          Adding order is important. Firt added = first matched.
          If you want to hand special case URI handled by one app and shorter
          version of the same regex string by anoter app,
          .add() special case first.
  
          Inputs:
           path - A regex string. We will compile it.
            Highly recommend using grouping of type: "(?P<groupname>.+)"
            These will be exposed to WSGI app through environment key
            per http://www.wsgi.org/wsgi/Specifications/routing_args
  
           default_handler - (optional) A pointer to the function / iterable
            class instance that will handle ALL HTTP methods (verbs)
  
           **named_handlers - (optional) An unlimited list of named args or
            an unpacked dict of handlers allocated to handle specific HTTP
            methods (HTTP verbs). See "Examples" below.
  
          Matched named method handlers override default handler.
  
          If neither default_handler nor named_handlers point to any methods,
          "Method not implemented" is returned for the requests on this URI.
  
          Examples:
          selectorInstance.add('^(?P<working_path>.*)$',generic_handler,
                                POST=post_handler, HEAD=head_handler)
  
          custom_assembled_dict = {'GET':wsgi_app_a,'POST':wsgi_app_b}:
          ## note the unpacking - "**" - of the dict in this case.
          selectorInstance.add('^(?P<working_path>.*)$', **custom_assembled_dict)
  
  
          If the string contains '\?' (escaped ?, which translates to '?' in
          non-regex strings) we understand that as "do regex matching on
          QUERY_PATH + '?' + QUERY_STRING"
  
          When lookup matches are met, results are injected into
          environ['wsgiorg.routing_args'] per
          http://www.wsgi.org/wsgi/Specifications/routing_args