diff options
Diffstat (limited to 'webapp')
-rw-r--r-- | webapp/rmq.py | 48 | ||||
-rw-r--r-- | webapp/templates/index.html | 64 | ||||
-rw-r--r-- | webapp/webapp.py | 39 |
3 files changed, 0 insertions, 151 deletions
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 @@ -<!DOCTYPE html> -<meta charset="utf-8" /> -<title>WebSocket Test</title> -<script language="javascript" type="text/javascript"> - -var output; - -function init(){ - output = document.getElementById("output"); - testWebSocket(); -} - -function testWebSocket(){ - var here = window.location.host; - var wsUri = `ws://${here}/ws`; - websocket = new WebSocket(wsUri); - websocket.onopen = function(evt) { onOpen(evt) }; - websocket.onclose = function(evt) { onClose(evt) }; - websocket.onmessage = function(evt) { onMessage(evt) }; - websocket.onerror = function(evt) { onError(evt) }; -} - -function onOpen(evt){ - writeToScreen("CONNECTED"); -} - -function onClose(evt){ - writeToScreen("DISCONNECTED"); -} - -function onMessage(evt){ - writeToScreen('<span style="color: blue;">RESPONSE: ' + evt.data+'</span>'); - websocket.close(); -} - -function onError(evt){ - writeToScreen('<span style="color: red;">ERROR:</span> ' + evt.data); -} - -function sendMessage(message){ - writeToScreen("SENT: " + message); - websocket.send(message); -} - -function writeToScreen(message){ - var pre = document.createElement("p"); - pre.style.wordWrap = "break-word"; - pre.innerHTML = message; - output.appendChild(pre); -} - -function sendFromInput(){ - var msg = document.getElementById("field1").value; - sendMessage(msg) -} - -window.addEventListener("load", init, false); - -</script> - -<input type="text" id="field1" value="print('fsdf')"><br> -<button onclick="sendFromInput()">Send</button> - -<div id="output"></div> 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) - [email protected]('/') -def index(): - return render_template('index.html') - [email protected]('/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() |