英文:
Сalling the http ServeTLS function with comments in the argument
问题
我看到了这段代码。
go func() {
var err error
if hasCert(s.TLSConfig) {
err = s.ServeTLS(ln, "" /*certFile*/, "" /*keyFile*/)
} else {
err = s.Serve(ln)
}
if err != http.ErrServerClosed {
errs <- err
}
}()
ServeTLS
函数位于 net/http
包中。为什么在参数中有注释?如果 ServeTLS
函数从配置中接收证书,为什么还要将其添加到参数中?
ServeTLS
的原型是 func (srv *Server) ServeTLS(l net.Listener, certFile, keyFile string) error
。
英文:
I saw this code.
go func() {
var err error
if hasCert(s.TLSConfig) {
err = s.ServeTLS(ln, "" /*certFile*/, "" /*keyFile*/)
} else {
err = s.Serve(ln)
}
if err != http.ErrServerClosed {
errs <- err
}
}()
The ServeTLS
is located in net/http. Why are there comments in the arguments? If the ServeTLS function receives certificates from the config, why add it to the arguments.
ServeTLS prototype
func (srv *Server) ServeTLS(l net.Listener, certFile, keyFile string) error
答案1
得分: 1
请看 https://pkg.go.dev/crypto/tls#Config
它为TLS配置了许多内容,但没有包括服务器的密钥和证书。因此,在使用 ServeTLS
时指定它们并不是多余的。
英文:
Take a look at https://pkg.go.dev/crypto/tls#Config
It configures many things for TLS, but not server key and cert. So it's not actually redundant to specify them to ServeTLS
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论