From 309a6f93f878fc96951902fc47d45a30ef5f8d71 Mon Sep 17 00:00:00 2001 From: Christopher Baklid Date: Wed, 23 May 2018 22:38:20 +0200 Subject: POC completed --- webapp/rmq.py | 48 ---------------------------------- webapp/templates/index.html | 64 --------------------------------------------- webapp/webapp.py | 39 --------------------------- 3 files changed, 151 deletions(-) delete mode 100644 webapp/rmq.py delete mode 100644 webapp/templates/index.html delete mode 100644 webapp/webapp.py (limited to 'webapp') diff --git a/webapp/rmq.py b/webapp/rmq.py deleted file mode 100644 index 80d418a..0000000 --- a/webapp/rmq.py +++ /dev/null @@ -1,48 +0,0 @@ -import os -import pika - -USERNAME = 'guest' -PASSWORD = 'guest' -HOST = os.environ.get('RMQ_HOST', '172.17.0.2') -PORT = 5672 -EXCHANGE = 'exchange' -EXCHANGE_TYPE = 'direct' -QUEUE = 'text' -ROUTING_KEY = 'bacon' - -try: - import docker - client = docker.from_env() - containers = client.containers.get('snekbox_pdrmq_1') - print("Attempting to get rabbitmq host automatically") - HOST = list(containers.attrs.get('NetworkSettings').get('Networks').values())[0]['IPAddress'] - print(f"found {HOST}") -except: - pass - -def send(message): - credentials = pika.PlainCredentials(USERNAME, PASSWORD) - connection = pika.BlockingConnection(pika.ConnectionParameters(HOST, PORT, '/', credentials)) - properties = pika.BasicProperties(content_type='text/plain', delivery_mode=1) - - channel = connection.channel() - channel.queue_declare(queue=QUEUE, durable=False) - channel.exchange_declare(exchange=EXCHANGE, exchange_type=EXCHANGE_TYPE) - channel.queue_bind(exchange=EXCHANGE, queue=QUEUE, routing_key=ROUTING_KEY) - - result = channel.basic_publish( - exchange=EXCHANGE, - routing_key=ROUTING_KEY, - body=message, - properties=properties - ) - - if result: - print(f"""Connecting to\nhost: {HOST}\nport: {PORT}\nexchange: {EXCHANGE}\nqueue: {QUEUE}""", flush=True) - print(f"Sent: '{message}'") - else: - print("not delivered") - - connection.close() - -#send('print("bacon is delicious")') diff --git a/webapp/templates/index.html b/webapp/templates/index.html deleted file mode 100644 index f2213ff..0000000 --- a/webapp/templates/index.html +++ /dev/null @@ -1,64 +0,0 @@ - - -WebSocket Test - - -
- - -
diff --git a/webapp/webapp.py b/webapp/webapp.py deleted file mode 100644 index 676fc27..0000000 --- a/webapp/webapp.py +++ /dev/null @@ -1,39 +0,0 @@ -import traceback - -from rmq import send as rmq_send -from flask import Flask -from flask import render_template -from flask_sockets import Sockets - -app = Flask(__name__) -sockets = Sockets(app) - -@app.route('/') -def index(): - return render_template('index.html') - -@sockets.route('/ws') -def websocket_route(ws): - try: - while not ws.closed: - message = ws.receive() - - if not message: - continue - print(f"received '{message}'") - - rmq_send(message) - - except: - print(traceback.format_exec()) - - finally: - if not ws.closed: - ws.close() - -if __name__ == '__main__': - #app.run(host='0.0.0.0', port=5000, debug=True) - from gevent import pywsgi - from geventwebsocket.handler import WebSocketHandler - server = pywsgi.WSGIServer(('0.0.0.0', 5000), app, handler_class=WebSocketHandler) - server.serve_forever() -- cgit v1.2.3