Example #1
0
    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')
Example #2
0
    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')
Example #3
0
    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])
Example #4
0
    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])
Example #5
0
    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')
Example #6
0
        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()
Example #7
0
 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
Example #8
0
    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)
Example #9
0
 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
Example #10
0
 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)
Example #11
0
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()
Example #12
0
                          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()
Example #13
0
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()