blob: 56238c7514c065f9933bf3b1f10eff24503ad73e [file] [log] [blame]
import asyncio
import logging
from aioquic.asyncio import QuicConnectionProtocol
from aioquic.quic.events import QuicEvent
from typing import Dict
async def notify_pass(connection: QuicConnectionProtocol):
_, writer = await connection.create_stream(is_unidirectional=True)
writer.write(b'PASS')
writer.write_eof()
# Verifies that the client indication sent by the client is correct. Creates
# a unidirectional stream containing "PASS" when the check finishes
# sucessfully.
def handle_client_indication(connection: QuicConnectionProtocol,
origin: str, query: Dict[str, str]):
logging.log(logging.INFO, 'origin = %s, query = %s' % (origin, query))
if 'origin' not in query or query['origin'] != origin:
logging.log(logging.WARN, 'Client indication failure: invalid origin')
connection.close()
return
loop = asyncio.get_event_loop()
loop.create_task(notify_pass(connection))
def handle_event(connection: QuicConnectionProtocol, event: QuicEvent) -> None:
pass