(ln net.Listener, srv Server)
| 212 | } |
| 213 | |
| 214 | func serve(ln net.Listener, srv Server) error { |
| 215 | mu.Lock() |
| 216 | servers[ln.Addr().String()] = srv |
| 217 | mu.Unlock() |
| 218 | err := srv.Serve(ln) |
| 219 | if err != nil { |
| 220 | var opErr *net.OpError |
| 221 | if errors.Is(err, http.ErrServerClosed) { |
| 222 | err = nil |
| 223 | } else if errors.As(err, &opErr) { |
| 224 | if opErr.Err != nil && opErr.Err.Error() == "use of closed network connection" { |
| 225 | err = nil |
| 226 | } |
| 227 | } |
| 228 | } |
| 229 | return err |
| 230 | } |
no test coverage detected