import falcon, json import logging from logging import config from datetime import datetime class Message: def __init__(self,user, text): self.user = user self.text = text self.created = datetime.now() def __str__(self): return self.text class ChatServer(object): def __init__(self): self.msglist = {} initmsg = Message('system','Chat Server bereit') self.addMsg(initmsg) def addMsg(self,msg): created = datetime.now() self.msglist[created.strftime('%d.%m.%y %H:%M.%f')] = msg def on_get(self,req,resp): logging.debug('on_get()') logging.debug(f'msglist= {self.msglist}') json_msgs = {} for key in self.msglist: text = self.msglist[key].text json_msgs[key] = { 'key': key, 'user': self.msglist[key].user, 'text': text } resp.status = falcon.HTTP_OK resp.media = json_msgs def on_post(self,req,resp): logging.debug('on_post()') json_string = req.media logging.debug(f'json_string={json_string}') msg = Message(json_string['user'],json_string['text']) self.addMsg(msg) resp.status = falcon.HTTP_OK def on_delete(self,req,resp): logging.debug('on_delete()') def create_chat_resource(): chat_endpoint = ChatServer() logging.debug(f'endpoint={chat_endpoint}') return chat_endpoint application = falcon.App() with open('log_config.json') as file_config: config.dictConfig(json.load(file_config)) resource = create_chat_resource() application.add_route('/msg', resource) logging.debug('Chat REST Service bereit')