code: def url(self, name, *, base=None, query=None, **match):
          
          if base is None:
              base = self.service
          for name in name.split('.'):
              base = base[name]
          pattern = self.__get_pattern(base.path)
          url = pattern.format(**match)
          if query is not None:
              url += '?' + urlencode(query)
          return url
docs: Construct an url for the given parameters.
  
          Parameters
          ----------
          name: str
              Nested middleware's name separated by dots.
          base: :class:`.Middleware`
              Base middleware to start searching from.
          query: dict
              Query string data.
          match: dict
              Path parameters.
  
          Returns
          -------
          str
              Constructed url.