@VadimRublev
Изучаю Go, + фронт (ванильный).

Как правильно записать ListenAndServeTLS() с кастомным типом servemux?

Ругается, что много аргументов в ListenAndServeTLS().
60b543aadf952695546146.png
Как записать правильно? И почему всего два аргумента в этом случае (в документации-синтаксисе для ListenAndServeTLS() - 4)?
Код:
func main() {
    var mux = http.NewServeMux()
    mux.HandleFunc("/", indexPage)
    var serv = &http.Server {
        Addr:         serverPort,
        ReadTimeout:  15 * time.Second,
        WriteTimeout: 15 * time.Second,
    }
    log.Fatal(serv.ListenAndServeTLS(TLScert, TLSkey, mux))
}
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
EvgenyMamonov
@EvgenyMamonov Куратор тега Go
Senior software developer, system architect
Вы вызываете метод ListenAndServeTLS для структуры Server, у него всего два параметра.
Четыре параметра у метода ListenAndServeTLS для пакета http.

Вам нужно добавить параметр Handler: mux в структуру, и вызвать метод ListenAndServeTLS структуры Server. У вас должно получиться примерно так:
func main() {
    var mux = http.NewServeMux()
    mux.HandleFunc("/", indexPage)
    var serv = &http.Server{
        // добавляете параметр
        Handler:      mux,
        Addr:         serverPort,
        ReadTimeout:  15 * time.Second,
        WriteTimeout: 15 * time.Second,
    }
    // вызываете с двумя параметрами
    log.Fatal(serv.ListenAndServeTLS(TLScert, TLSkey))
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы