from uvicorn.workers import UvicornWorker


class HeadlessUvicornWorker(UvicornWorker):
    """Uvicorn worker gunicornhoz - nem küldi el a 'Server: uvicorn' fejlécet a válaszokban.

    A gunicorn nem adja tovább a saját CLI-kapcsolóit az általa indított uvicorn
    worker-eknek (nincs "--no-server-header" a gunicorn oldalán), ezért a fejléc
    elnyomását csak így, a CONFIG_KWARGS felülírásával lehet elérni:
    https://github.com/Kludex/uvicorn/discussions/1435

    Használat a systemd unitban: a "--worker-class uvicorn.workers.UvicornWorker"
    helyett "--worker-class gunicorn_worker.HeadlessUvicornWorker" (l.
    server_tune/emelog.service - az a mappa nincs verziókezelve, csak helyi
    referencia, a szerveren kézzel kell alkalmazni).
    """
    CONFIG_KWARGS = {"server_header": False}
