Skip to content

Latest commit

 

History

History
44 lines (31 loc) · 1.13 KB

README.rst

File metadata and controls

44 lines (31 loc) · 1.13 KB

Vase is a webframework for Tulip/asyncio

https://secure.travis-ci.org/vkryachko/Vase.png

Inspired by Flask It currently has a basic WSGI interface and WebSocket support. A demo websocket app is available here http://vase-chat.herokuapp.com/

Sample echo app

from vase import Vase

app = Vase(__name__)


@app.route(path="/")
def hello(request):
    return "Hello Vase!"


@app.endpoint(path="/ws/echo")
class EchoEndpoint:
    """
    WebSocket endpoint
    Has the following attributes:
    `bag` - a dictionary that is shared between all instances of this endpoint
    `transport` - used to send messages into the websocket, has send(message), close() methods
    """
    def on_connect(self):
        self.transport.send("You are successfully connected")

    def on_message(self, message):
        self.transport.send(message)

    def on_close(self, exc=None):
        print("Connection closed")

if __name__ == '__main__':
    app.run()