Exemplo n.º 1
0
class CircuitsWebAdapter(object):
    class Root(Controller):
        def index(self):
            return "circuits"

        def eventSub(self):
            return "\n"

    def setup(self, host, port, app_callback):
        self._server = Server((host, port))
        self._server += Gateway(app_callback)
        self._server += self.Root()
        sfile = StaticFile('test.flac',
                           '/mnt/nas/Anastacia/Anastacia/03 Time.flac')
        self._tree = {}
        self._tree[sfile.name] = sfile

    def start(self):
        self._server.start()

    def stop(self):
        self._server.stop()

    def application(self, environ, start_response):
        if environ['SCRIPT_NAME'] == '/':
            environ['SCRIPT_NAME'] = ''
            environ['PATH_INFO'] = '/' + environ['PATH_INFO']

        oldenviron = environ.copy()
        path = wsgiref.util.shift_path_info(environ)
        return self._tree[path].application(environ, start_response)
Exemplo n.º 2
0
class CircuitsWebAdapter(object):

    class Root(Controller):
        def index(self):
            return "circuits"
        def eventSub(self):
            return "\n"

    def setup(self, host, port, app_callback):
        self._server = Server((host,port))
        self._server += Gateway(app_callback)
        self._server += self.Root()
        sfile = StaticFile('test.flac', '/mnt/nas/Anastacia/Anastacia/03 Time.flac')
        self._tree = {}
        self._tree[sfile.name] = sfile

    def start(self):
        self._server.start()

    def stop(self):
        self._server.stop()

    def application(self, environ, start_response):
        if environ['SCRIPT_NAME'] == '/':
            environ['SCRIPT_NAME'] = ''
            environ['PATH_INFO'] = '/' + environ['PATH_INFO']
            
        oldenviron = environ.copy()
        path = wsgiref.util.shift_path_info(environ)
        return self._tree[path].application(environ, start_response)
Exemplo n.º 3
0
class CircuitsWebAdapter(AdapterInterface):
    """ circuits.web WSGI server adapter.
    """

    def setup(self, server_name, host, port, app_callback):
        from circuits.web import BaseServer, Server
        from circuits.lib.web.wsgi import Gateway
        from circuits.web import Controller
#        self._server = BaseServer(port, host)
        self._server = Server(port, host)
        self._server += Gateway(app_callback)
        self._server += Root()
#        self._server += Test()
#        self._server += eventsub()
#        self._server += handler()
        
    

    def start(self):
        self._server.start()

    def stop(self):
        self._server.stop()

    @classmethod
    def is_available(cls):
        try:
            from circuits.web import BaseServer
            from circuits.web import Controller
            from circuits.lib.web.wsgi import Gateway
            return True
        except:
            return False
def test(apps):
    server = Server(0)
    Gateway(apps).register(server)

    waiter = pytest.WaitEvent(server, "ready")
    server.start()
    waiter.wait()

    f = urlopen(server.http.base)
    s = f.read()
    assert s == b"Hello World!"

    f = urlopen("{0:s}/foobar/".format(server.http.base))
    s = f.read()
    assert s == b"FooBar!"

    server.stop()
def test(apps):
    server = Server(0)
    Gateway(apps).register(server)

    waiter = pytest.WaitEvent(server, "ready")
    server.start()
    waiter.wait()

    f = urlopen(server.http.base)
    s = f.read()
    assert s == b"Hello World!"

    f = urlopen("{0:s}/foobar/".format(server.http.base))
    s = f.read()
    assert s == b"FooBar!"

    server.stop()