package hmm import ( "bufio" "io" "io/ioutil" "net/http" ) // Lines returns a chan containing one line of output from the remote url. // // Lines closes the internal chan after it's fetched all bytes. Errors are not // propagated. func Lines(url string) <-chan string { r := make(chan string) go func() { defer close(r) resp, err := http.Get(url) if err != nil { return } s := bufio.NewScanner(resp.Body) for s.Scan() { r <- s.Text() } // ignore errors // if resp.StatusCode != http.StatusOK {} io.Copy(ioutil.Discard, resp.Body) resp.Body.Close() }() return r }