MCPcopy
hub / github.com/caddyserver/certmagic / serve

Method serve

solvers.go:85–103  ·  view source on GitHub ↗

serve is an HTTP server that serves only HTTP challenge responses.

(ctx context.Context, si *solverInfo)

Source from the content-addressed store, hash-verified

83
84// serve is an HTTP server that serves only HTTP challenge responses.
85func (s *httpSolver) serve(ctx context.Context, si *solverInfo) {
86 defer func() {
87 if err := recover(); err != nil {
88 buf := make([]byte, stackTraceBufferSize)
89 buf = buf[:runtime.Stack(buf, false)]
90 log.Printf("panic: http solver server: %v\n%s", err, buf)
91 }
92 }()
93 defer close(si.done)
94 httpServer := &http.Server{
95 Handler: s.handler,
96 BaseContext: func(listener net.Listener) context.Context { return ctx },
97 }
98 httpServer.SetKeepAlivesEnabled(false)
99 err := httpServer.Serve(si.listener)
100 if err != nil && atomic.LoadInt32(&s.closed) != 1 {
101 log.Printf("[ERROR] key auth HTTP server: %v", err)
102 }
103}
104
105// CleanUp cleans up the HTTP server if it is the last one to finish.
106func (s *httpSolver) CleanUp(_ context.Context, _ acme.Challenge) error {

Callers 1

PresentMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected