package quic

/*
import (
	"crypto/tls"
	"log"
	"net/http"

	"git.insit.tech/psa/rtsp_reader-writer/reader/internal/web/quic/handlersQUIC"
	"github.com/quic-go/quic-go/http3"
)

// SetupQuicServer starts QUIC protocol using HTTP/3.
func SetupQuicServer() {
	mux := http.NewServeMux()

	// Группа обработчиков, которые доступны неавторизованным пользователям
	mux.HandleFunc("POST /register", handlersQUIC.Register)
	mux.HandleFunc("POST /login", handlersQUIC.Login)

	// Группа обработчиков, которые требуют авторизации
	//authorizedGroup := app.Group("")
	//authorizedGroup.Use(handlersQUIC.CheckJWT, handlersQUIC.CheckSessionID, handlersQUIC.CreateSessionID)
	//mux.HandleFunc("GET /profile", userHandlerQUIC.Profile)
	//
	//// API Flussonic Media Server adapted handlers.
	//mux.HandleFunc("GET /vods/:id/:res/:file", handlersQUIC.SingleVodsHandler)
	//mux.HandleFunc("DELETE /vods/:id/:res/:file", handlersQUIC.DelSingleVodsHandler)
	//mux.HandleFunc("GET /vods/:id/files", handlersQUIC.ListFilesVodsHandler)
	//mux.HandleFunc("DELETE /vods/:id", handlersQUIC.DelVodsHandler)
	//mux.HandleFunc("GET /vods/:id", handlersQUIC.ConfigVodsHandler)
	mux.HandleFunc("GET /vods", handlersQUIC.ListVodsHandler)

	server := &http3.Server{
		Addr:    ":443",
		Handler: mux,
	}

	http.ListenAndServe("", mux)

	if err := server.ListenAndServeTLS("fullchain.pem", "privkey.pem"); err != nil {
		log.Fatal(err)
	}
}

// GetTLSConfig
func GetTLSConfig() *tls.Config {
	cert, err := tls.LoadX509KeyPair("fullchain.pem", "privkey.pem")
	if err != nil {
		log.Fatal(err)
	}

	return &tls.Config{
		Certificates: []tls.Certificate{cert},
		NextProtos:   []string{"h3", "h2", "http/1.1"},
		MinVersion:   tls.VersionTLS13,
	}
}
*/
