@@ -461,7 +461,8 @@ def on_created(self, event):
461
461
462
462
class LiteFile (object ):
463
463
464
- def __init__ (self , path , base , name , text ):
464
+ def __init__ (self , path , base , name , text , status_code = 200 ):
465
+ self .status_code = int (status_code )
465
466
self .path = path
466
467
self .text = text
467
468
self .etag = etag = sha1 (text ).hexdigest ()
@@ -509,7 +510,8 @@ def handler(self, request):
509
510
headers .append (("Etag" , self .etag ))
510
511
text = self .text
511
512
headers .append (("Content-Length" , "%d" % len (text )))
512
- return request ._response (200 , headers = headers , content = text )
513
+ return request ._response (
514
+ self .status_code , headers = headers , content = text )
513
515
514
516
515
517
class TreeCache (object ):
@@ -829,7 +831,6 @@ def start_response(self, status_code=200, headers=None):
829
831
else :
830
832
k , v = header
831
833
response_headers [k ] = v
832
- print ('???' , self .session_id , self .session .id )
833
834
if self .session_id is None :
834
835
self .set_cookie (default_sid , self .session .id , path = "/" )
835
836
self ._headers_responsed = True
@@ -876,7 +877,7 @@ def _cast(self, s=None):
876
877
if is_bytes (first ):
877
878
new_iter_s = itertools .chain ([first ], iter_s )
878
879
elif is_unicode (first ):
879
- encoder = lambda item : item .encode ("utf-8" )
880
+ encoder = lambda item : str ( item ) .encode ("utf-8" )
880
881
new_iter_s = itertools .chain ([first ], iter_s )
881
882
new_iter_s = imap (encoder , new_iter_s )
882
883
else :
@@ -1001,6 +1002,7 @@ def handler(self):
1001
1002
litefile = None
1002
1003
if litefile is not None :
1003
1004
app .files .put (path , litefile )
1005
+ litefile .status_code = 404
1004
1006
try :
1005
1007
return litefile .handler (self )
1006
1008
except :
0 commit comments