diff options
| author | 2018-05-23 22:38:20 +0200 | |
|---|---|---|
| committer | 2018-05-23 22:38:20 +0200 | |
| commit | 309a6f93f878fc96951902fc47d45a30ef5f8d71 (patch) | |
| tree | f788b43a892a93d0f97da73f459a55b43e1ea1a0 /webapp | |
| parent | update readme (diff) | |
POC completed
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() | 
