code: def bind(
          self,
          server_name,
          script_name=None,
          subdomain=None,
          url_scheme="http",
          default_method="GET",
          path_info=None,
          query_args=None,
      ):
          
          server_name = server_name.lower()
          if self.host_matching:
              if subdomain is not None:
                  raise RuntimeError("host matching enabled and a subdomain was provided")
          elif subdomain is None:
              subdomain = self.default_subdomain
          if script_name is None:
              script_name = "/"
          if path_info is None:
              path_info = "/"
          try:
              server_name = _encode_idna(server_name)
          except UnicodeError:
              raise BadHost()
          return MapAdapter(
              self,
              server_name,
              script_name,
              subdomain,
              url_scheme,
              path_info,
              default_method,
              query_args,
          )
docs: Return a new :class:`MapAdapter` with the details specified to the
          call.  Note that `script_name` will default to ``'/'`` if not further
          specified or `None`.  The `server_name` at least is a requirement
          because the HTTP RFC requires absolute URLs for redirects and so all
          redirect exceptions raised by Werkzeug will contain the full canonical
          URL.
  
          If no path_info is passed to :meth:`match` it will use the default path
          info passed to bind.  While this doesn't really make sense for
          manual bind calls, it's useful if you bind a map to a WSGI
          environment which already contains the path info.
  
          `subdomain` will default to the `default_subdomain` for this map if
          no defined. If there is no `default_subdomain` you cannot use the
          subdomain feature.
  
          .. versionadded:: 0.7
             `query_args` added
  
          .. versionadded:: 0.8
             `query_args` can now also be a string.
  
          .. versionchanged:: 0.15
              ``path_info`` defaults to ``'/'`` if ``None``.