Updated .gitignore

Updated client.py
Deleted preview.png
Deleted server.py
Added server/server.py
This commit is contained in:
mirai
2022-12-01 10:13:43 +03:00
parent b538085f43
commit 88b4b95b02
4 changed files with 3 additions and 2 deletions
+38
View File
@@ -0,0 +1,38 @@
from email.policy import HTTP
from typing import Any, Coroutine
from sanic import Sanic, Request, response
from sanic.response import HTTPResponse
from cryptography.fernet import Fernet
from sanic.server.websockets.impl import WebsocketImplProtocol
import rsa
app = Sanic("app")
app.config.OAS = False
actual_messages = []
users = {}
key = Fernet.generate_key()
@app.route('/talk', methods=["GET", "POST"])
async def talking(request: Request) -> HTTPResponse:
actual_messages.append(request.form["text"][0])
return response.json({"status": "ok"})
@app.route('/update', methods=["GET", "POST"])
async def talking(request: Request) -> HTTPResponse:
return response.json({"status": actual_messages, "users_in_chat": list(users.keys())})
@app.route('/get_key', methods=['GET', 'POST'])
async def get_key(request: Request) -> HTTPResponse:
pubkey = rsa.PublicKey.load_pkcs1(request.form['pubkey'][0])
data = rsa.encrypt(key, pubkey)
if request.ip not in users:
users[request.form['username'][0]] = key
return response.raw(data)