class_docstr: Container of request-scoped values.
  
  This context is for cross-cutting concerns: authentication,
  authorization, auditing, internationalization, logging, and so on.
  It is not simply for passing commonly used parameters to functions.
  
  `RequestContext` values are to be treated as immutable.
  
  Fields:
    auth: An `AuthContext`, which may be empty but is never `None`.
    remote_ip: An `ipaddress.IPv4Address` or `ipaddress.IPv6Address` or None.
      Best guess of the IP Address of the end user.
    x_forwarded_for: A tuple of `ipaddress.IPv4Address` or `ipaddress.IPv6Address`,
      which may be empty but is never None. This should be parsed value of X-Forwarded-For
      HTTP header from the request.
    client_feature_flags: A dict of string to arbitrary type. These represent
      feature flag key/value pairs sent by the client application. Usage of
      client_feature_flags should know the name of the feature flag key and
      should know and validate the type of the value.
docstr: Create a copy of this context with updated key-value pairs.
  
  Analogous to `namedtuple._replace`. For example, to create a new
  request context like `ctx` but with auth context `auth`, call
  `ctx.replace(auth=auth)`.
  
  Args:
    As to `__init__`.
  
  Returns:
    A new context like this one but with the specified updates.
code: def replace(self, **kwargs):
      """Create a copy of this context with updated key-value pairs.
  
      Analogous to `namedtuple._replace`. For example, to create a new
      request context like `ctx` but with auth context `auth`, call
      `ctx.replace(auth=auth)`.
  
      Args:
        As to `__init__`.
  
      Returns:
        A new context like this one but with the specified updates.
      """
      kwargs.setdefault("auth", self.auth)
      kwargs.setdefault("remote_ip", self.remote_ip)
      kwargs.setdefault("x_forwarded_for", self.x_forwarded_for)
      kwargs.setdefault(
          "client_feature_flags", self.client_feature_flags
      )
      return type(self)(**kwargs)
  
file_path: tensorboard/tensorboard/context.py
imports: from tensorboard import auth
label_desc: Use image node_id 6 for calling the RequestContext obj's underlying member method code with example usage: obj.replace() and returns: type