Handle errors returned by `ListenAndServe()`
Print error message and stop the program when the local web server
closed abnormally.
Bug: 121042212
Change-Id: Ieafdc3f1e1d3d890d6002d31ccb6dbb4c8783e5a
diff --git a/fetch_artifact.go b/fetch_artifact.go
index d1b5cc7..9370698 100644
--- a/fetch_artifact.go
+++ b/fetch_artifact.go
@@ -185,7 +185,12 @@
ch := make(chan string)
randState := fmt.Sprintf("st%d", time.Now().UnixNano())
ts := createServer(ch, randState)
- go ts.ListenAndServe()
+ go func() {
+ err := ts.ListenAndServe()
+ if err != http.ErrServerClosed {
+ errPrint(fmt.Sprintf("Listen and serve error: %v", err))
+ }
+ }()
defer ts.Close()
config.RedirectURL = "http://localhost" + ts.Addr