code: def set_cookie(self, name: str, value: str, *,
                     expires: Optional[str]=None,
                     domain: Optional[str]=None,
                     max_age: Optional[Union[int, str]]=None,
                     path: str='/',
                     secure: Optional[str]=None,
                     httponly: Optional[str]=None,
                     version: Optional[str]=None) -> None:
          
  
          old = self._cookies.get(name)
          if old is not None and old.coded_value == '':
              # deleted cookie
              self._cookies.pop(name, None)
  
          self._cookies[name] = value
          c = self._cookies[name]
  
          if expires is not None:
              c['expires'] = expires
          elif c.get('expires') == 'Thu, 01 Jan 1970 00:00:00 GMT':
              del c['expires']
  
          if domain is not None:
              c['domain'] = domain
  
          if max_age is not None:
              c['max-age'] = str(max_age)
          elif 'max-age' in c:
              del c['max-age']
  
          c['path'] = path
  
          if secure is not None:
              c['secure'] = secure
          if httponly is not None:
              c['httponly'] = httponly
          if version is not None:
              c['version'] = version
docs: Set or update response cookie.
  
          Sets new cookie or updates existent with new value.
          Also updates only those params which are not None.