def test_static(self): self.server.register(*serve_static(address='/', root=".")) reply, headers, body = self.client('GET', '/handlers.py') data = open('handlers.py').read() eq_(body, data) reply, headers, body = self.client('GET', '/handlers.py', if_modified_since=headers['LAST-MODIFIED']) eq_(reply[1], '304')
def test_static(self): self.server.register(*serve_static(address='/', root=".")) reply, headers, body = self.client('GET', '/handlers.py') data = open('handlers.py').read() eq_(body, data) reply, headers, body = self.client( 'GET', '/handlers.py', if_modified_since=headers['LAST-MODIFIED']) eq_(reply[1], '304')
def test_static(self): """Раздача файлов с диска""" self.server.register(*serve_static('/', '.')) # обслуживать все запросы как файл-сервер eq_('404', self.client('/give-me-nice-404')[0][1]) reply, headers, body = self.client('/handlers.py') # файл из каталога сервера eq_('200', reply[1]) data = open('handlers.py').read() eq_(body, data) eq_(int(headers['CONTENT-LENGTH']), len(data)) reply, headers, body = self.client('/handlers.py', if_modified_since=headers['LAST-MODIFIED']) eq_(reply, ['HTTP/1.0', '304', 'Not modified']) eq_(body, '') eq_('404', self.client('/../../../../../../../../../../../etc/passwd')[0][1])
def test_static(self): """Раздача файлов с диска""" self.server.register(*serve_static( '/', '.')) # обслуживать все запросы как файл-сервер eq_('404', self.client('/give-me-nice-404')[0][1]) reply, headers, body = self.client( '/handlers.py') # файл из каталога сервера eq_('200', reply[1]) data = open('handlers.py').read() eq_(body, data) eq_(int(headers['CONTENT-LENGTH']), len(data)) reply, headers, body = self.client( '/handlers.py', if_modified_since=headers['LAST-MODIFIED']) eq_(reply, ['HTTP/1.0', '304', 'Not modified']) eq_(body, '') eq_('404', self.client('/../../../../../../../../../../../etc/passwd')[0][1])
def test_static(self): stat = os.stat('handlers.py') self.server.register(*serve_static(address='/', root=".")) reply, headers, body = self.client('GET', '/handlers.py') data = open('handlers.py').read() eq_(body, data) reply, headers, body = self.client('GET', '/handlers.py', if_modified_since=headers['LAST-MODIFIED']) eq_(reply[1], '304') eq_(body, '') date = datetime.datetime.utcfromtimestamp(stat.st_mtime + 3600) reply, headers, body = self.client('GET', '/handlers.py', if_modified_since=date.strftime(DATETIME)) eq_(reply[1], '304') eq_(body, '') date = datetime.datetime.utcfromtimestamp(stat.st_mtime - 3600) reply, headers, body = self.client('GET', '/handlers.py', if_modified_since=date.strftime(DATETIME)) eq_(reply[1], '200') eq_(body, data) reply, headers, body = self.client('GET', '/handlers.py', if_modified_since=None) eq_(reply[1], '200') eq_(body, data) reply, headers, body = self.client('GET', '/handlers.py', if_modified_since='a lot of garbage') eq_(reply[1], '200') eq_(body, data) reply, headers, body = self.client('GET', '/404errorpage.html') eq_(reply[1], '404') reply, headers, body = self.client('GET', '/../../../../root/forbidden.html') eq_(reply[1], '403') reply, headers, body = self.client('GET', '/.') print reply, headers, body eq_(reply[1], '403')
pass def close_all(self): self.conn.close() self.sock.close() def process(self): while 1: self.bindsock() self.acceptsock() #self.transfer() self.close_all() if __name__ == '__main__': from handlers import serve_static port, root = 8000, '.' try: import argparse parser = argparse.ArgumentParser() parser.add_argument('--port', nargs='?', type=int, default=port) parser.add_argument('--root', nargs='?', type=str, default=root) options = parser.parse_args() port, root = options.port, options.root except ImportError: pass server = HTTPServer(port=8000) server.register(*serve_static('/', root)) server.start()
def test_autoindex(self): self.server.register( *serve_static(address='/', root="/home/an4ezz", autoindex=True)) reply, headers, body = self.client('GET', '/') assert '<a href="buzannka-second/"><b>buzannka-second/</b></a><br/>\n' in body
def test_static(self): self.server.register(*serve_static(address='/', root=".")) reply, headers, body = self.client('GET', '/handlers.py') data = open('handlers.py').read() eq_(body, data)
def test_autoindex(self): self.server.register(*serve_static(address='/', root="/home/an4ezz", autoindex=True)) reply, headers, body = self.client('GET', '/') assert '<a href="buzannka-second/"><b>buzannka-second/</b></a><br/>\n' in body
import sys import serv import handlers if __name__ == "__main__": server = serv.HTTPServer(port=int(*sys.argv[1:])) server.register( lambda request: request.url == "/html/", lambda request: request.reply('<H1>"Hello world!!!!"</H1>', content_type='text/html')) server.register(lambda r: r.url == '/crash/me/', lambda r: no_you) server.register(*handlers.serve_static( address='/', root="/home/an4ezz", autoindex=True)) server.listen()
traceback.format_exc()) return False # никто не взялся ответить request.reply( '404', 'Not found', 'Письмо самурай получил\nТают следы на песке\nСтраница не найдена') def register(self, pattern, handler): self.handlers.append((pattern, handler)) if __name__ == '__main__': from handlers import serve_static port, root = 8000, '.' try: import argparse parser = argparse.ArgumentParser() parser.add_argument('--port', nargs='?', type=int, default=port) parser.add_argument('--root', nargs='?', type=str, default=root) options = parser.parse_args() port, root = options.port, options.root except ImportError: pass server = HTTPServer(port=port) server.register(*serve_static('/', root)) server.serve()
import sys import serv import handlers if __name__ == "__main__": server = serv.HTTPServer(port=int(*sys.argv[1:])) server.register( lambda request: request.url == "/html/", lambda request: request.reply('<H1>"Hello world!!!!"</H1>', content_type="text/html"), ) server.register(lambda r: r.url == "/crash/me/", lambda r: no_you) server.register(*handlers.serve_static(address="/", root="/home/an4ezz", autoindex=True)) server.listen()