MCPcopy Create free account
hub / github.com/docker/docker-language-server / handleRecovered

Method handleRecovered

internal/pkg/server/server.go:205–228  ·  view source on GitHub ↗
(method string, recovered interface{})

Source from the content-addressed store, hash-verified

203}
204
205func (s *Server) handleRecovered(method string, recovered interface{}) bool {
206 if recovered != nil {
207 debug.PrintStack()
208 properties := map[string]any{
209 "type": telemetry.ServerHeartbeatTypePanic,
210 "method": method,
211 "stack_trace": string(debug.Stack()),
212 }
213 if err, ok := recovered.(error); ok {
214 properties["recover"] = err.Error()
215 metadata := bugsnag.MetaData{}
216 metadata.Add("session", "method", method)
217 for property, value := range s.sessionTelemetryProperties {
218 metadata.Add("session", property, value)
219 }
220 metadata.Add("session", "arch", runtime.GOARCH)
221 metadata.Add("session", "os", runtime.GOOS)
222 _ = bugsnag.Notify(err, metadata)
223 }
224 s.Enqueue(telemetry.EventServerHeartbeat, properties)
225 return true
226 }
227 return false
228}
229
230func (s *Server) handlePanic(method string) bool {
231 if r := recover(); r != nil {

Callers 2

NewServerFunction · 0.95
handlePanicMethod · 0.95

Calls 1

EnqueueMethod · 0.95

Tested by

no test coverage detected