Mercurial > hg > FileServer
comparison fileserver/web.py @ 12:8127dde8da22
fix slashing
| author | Jeff Hammel <jhammel@mozilla.com> |
|---|---|
| date | Wed, 29 Feb 2012 15:41:01 -0800 |
| parents | 8fb047af207a |
| children | e3993fa05b89 |
comparison
equal
deleted
inserted
replaced
| 11:1aaf2ba89b30 | 12:8127dde8da22 |
|---|---|
| 47 | 47 |
| 48 @staticmethod | 48 @staticmethod |
| 49 def normpath(path): | 49 def normpath(path): |
| 50 return os.path.normcase(os.path.abspath(path)) | 50 return os.path.normcase(os.path.abspath(path)) |
| 51 | 51 |
| 52 def add_slash(self, request): | |
| 53 import pdb; pdb.set_trace() | |
| 54 location = '' | |
| 55 response = exc.HTTPMovedPermanantly() | |
| 56 | |
| 52 def index(self, directory): | 57 def index(self, directory): |
| 53 """ | 58 """ |
| 54 generate a directory listing for a given directory | 59 generate a directory listing for a given directory |
| 55 """ | 60 """ |
| 56 parts = ['<html><head><title>Simple Index</title></head><body>'] | 61 parts = ['<html><head><title>Simple Index</title></head><body>'] |
| 79 return exc.HTTPNotFound()(environ, start_response) | 84 return exc.HTTPNotFound()(environ, start_response) |
| 80 | 85 |
| 81 if os.path.isdir(full): | 86 if os.path.isdir(full): |
| 82 # serve directory index | 87 # serve directory index |
| 83 if not path_info.endswith('/'): | 88 if not path_info.endswith('/'): |
| 89 response = exc.HTTPMovedPermanently(add_slash=True) | |
| 90 return response(environ, start_response) | |
| 84 return self.add_slash(environ, start_response) | 91 return self.add_slash(environ, start_response) |
| 85 index = self.index(full) | 92 index = self.index(full) |
| 86 response_headers = [('Content-Type', 'text/html'), | 93 response_headers = [('Content-Type', 'text/html'), |
| 87 ('Content-Length', str(len(index)))] | 94 ('Content-Length', str(len(index)))] |
| 88 response = Response(index, content_type='text/html') | 95 response = Response(index, content_type='text/html') |
