type Endpoint struct {
// URL is the base URL of the loopback server, without a trailing path. URL string `json:"url"`
PID int `json:"pid"`
StartedAt time.Time `json:"startedAt"`
}
Read loads the endpoint file. It returns an error wrapping ErrNotRunning
when the file is missing. It does not check that the PID is alive: a file
left by a crash surfaces as a connection error to the caller.