Commit ed42bf7e authored by James Kirk's avatar James Kirk
Browse files

refactor: changed endpoints to use rmq funcs

refactor: deleted hello.py
fix: minor comment typo
parent 0a785cc5
from flask_restful import Resource
class HelloWorld(Resource):
def get(self):
return {"hello": "world"}
import json
from flask_restful import request, abort
from flask_restful import abort, request
from marshmallow import Schema, fields
import pika
from endpoints.auth_resource import AuthResource
from rmq import write_to_queue
class NotifySchema(Schema):
......@@ -33,8 +35,4 @@ class Notify(AuthResource):
if allow:
notify_queue = self.client['client_id'] + "-broadcast"
connection = pika.BlockingConnection(pika.ConnectionParameters(host="localhost"))
channel = connection.channel()
channel.queue_declare(queue=notify_queue, durable=True)
channel.basic_publish(exchange="", routing_key=notify_queue, body=json.dumps(message))
connection.close()
write_to_queue(queue_name=notify_queue, msg=json.dumps(message))
\ No newline at end of file
from flask_restful import request, abort
from flask_restful import abort, request
from marshmallow import Schema, fields
import pika
import json
from models.token import TokenModel
from endpoints.auth_resource import AuthResource
from rmq import read_from_queue
class ReceiveQuerySchema(Schema):
......@@ -23,28 +22,9 @@ class Receive(AuthResource):
if errors:
abort(400, message=str(errors))
messages = []
max_messages = request.args.get("max_messages", 10)
allow = self.auth(request)
if allow:
inbox_queue = self.client['client_id'] + "-inbox"
if allow:
connection = pika.BlockingConnection(
pika.ConnectionParameters(host="localhost")
)
channel = connection.channel()
channel.queue_declare(queue=inbox_queue, durable=True)
while len(messages) < max_messages:
method_frame, header_frame, body = channel.basic_get(inbox_queue)
if method_frame:
print(method_frame, header_frame, body)
channel.basic_ack(method_frame.delivery_tag)
messages.append(json.loads(body.decode()))
else:
print("No message returned")
break
channel.close()
connection.close()
return messages
return read_from_queue(queue_name=inbox_queue, max_msgs=max_messages)
\ No newline at end of file
import json
from flask_restful import request, abort
from flask_restful import abort, request
from marshmallow import Schema, fields
import pika
from endpoints.auth_resource import AuthResource
from rmq import write_to_queue
class SendSchema(Schema):
body = fields.Str(required=True)
......@@ -28,13 +31,9 @@ class Send(AuthResource):
body = args.get("body")
topic = args.get("topic")
outbox_queue = self.client['client_id'] + "-outbox"
connection = pika.BlockingConnection(pika.ConnectionParameters(host="localhost"))
channel = connection.channel()
channel.queue_declare(queue=outbox_queue, durable=True)
message = {
'topic': topic,
'message': body,
}
channel.basic_publish(exchange="", routing_key=outbox_queue, body=json.dumps(message))
connection.close()
write_to_queue(queue_name=outbox_queue, msg=json.dumps(message))
\ No newline at end of file
......@@ -53,7 +53,7 @@ def write_to_queue(queue_name, msg):
def read_from_queue(queue_name, max_msgs):
# get messages off of a queue until the queue is empty of max_msgs is hit
# get messages off of a queue until the queue is empty or max_msgs is hit
connection, channel = pika_connect(host=host)
setup_queue(channel=channel, queue_name=queue_name)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment