web/request.py
changeset 8179 e52a084e955c
parent 8155 c075950cc929
parent 8177 e4ab883f07d9
child 8190 2a3c1b787688
equal deleted inserted replaced
8172:77aa753dcd6b 8179:e52a084e955c
   548             name, value = value, name[value].value
   548             name, value = value, name[value].value
   549         if maxage: # don't check is None, 0 may be specified
   549         if maxage: # don't check is None, 0 may be specified
   550             assert expires is None, 'both max age and expires cant be specified'
   550             assert expires is None, 'both max age and expires cant be specified'
   551             expires = maxage + time.time()
   551             expires = maxage + time.time()
   552         elif expires:
   552         elif expires:
       
   553             # we don't want to handle times before the EPOCH (cause bug on
       
   554             # windows). Also use > and not >= else expires == 0 and Cookie think
       
   555             # that means no expire...
       
   556             assert expires + GMTOFFSET > date(1970, 1, 1)
   553             expires = timegm((expires + GMTOFFSET).timetuple())
   557             expires = timegm((expires + GMTOFFSET).timetuple())
   554         else:
   558         else:
   555             expires = None
   559             expires = None
   556         # make sure cookie is set on the correct path
   560         # make sure cookie is set on the correct path
   557         cookie = Cookie(str(name), str(value), self.base_url_path(),
   561         cookie = Cookie(str(name), str(value), self.base_url_path(),
   562         """remove a cookie by expiring it"""
   566         """remove a cookie by expiring it"""
   563         if bwcompat is not None:
   567         if bwcompat is not None:
   564             warn('[3.13] remove_cookie now take only a name as argument',
   568             warn('[3.13] remove_cookie now take only a name as argument',
   565                  DeprecationWarning, stacklevel=2)
   569                  DeprecationWarning, stacklevel=2)
   566             name = bwcompat
   570             name = bwcompat
   567         self.set_cookie(name, '', maxage=0,
   571         self.set_cookie(name, '', maxage=0, expires=date(2000, 1, 1))
   568                         # substracting GMTOFFSET because set_cookie
       
   569                         # expects a localtime and we don't want to
       
   570                         # handle times before the EPOCH
       
   571                         expires=date(1970, 1, 1) - GMTOFFSET) 
       
   572 
   572 
   573     def set_content_type(self, content_type, filename=None, encoding=None):
   573     def set_content_type(self, content_type, filename=None, encoding=None):
   574         """set output content type for this request. An optional filename
   574         """set output content type for this request. An optional filename
   575         may be given
   575         may be given
   576         """
   576         """