Errors swallowed
I've run golangci-lint against the current code and there are a number of errcheck, golint, and govet issues raised.
An example is in the directory snowflake/server-webrtc and is pasted below. The error messages are trivial to update to meet with conventions.
But I have a query about how to deal with the errors not being handled. For example pw.CloseWithError(err) can generate an error, should that error merely be logged, or should some other action take place (an error sent to the user perhaps?)
http.go:26:10: Error return value of `w.Write` is not checked (errcheck)
w.Write([]byte(`HTTP signaling channel
^
http.go:60:9: Error return value of `w.Write` is not checked (errcheck)
w.Write([]byte(pc.LocalDescription().Serialize()))
^
snowflake.go:32:10: Error return value of `io.Copy` is not checked (errcheck)
io.Copy(b, a)
^
snowflake.go:36:10: Error return value of `io.Copy` is not checked (errcheck)
io.Copy(a, b)
^
snowflake.go:144:22: Error return value of `pw.CloseWithError` is not checked (errcheck)
pw.CloseWithError(err)
^
snowflake.go:156:13: Error return value of `pc.Destroy` is not checked (errcheck)
pc.Destroy()
^
snowflake.go:164:13: Error return value of `pc.Destroy` is not checked (errcheck)
pc.Destroy()
^
snowflake.go:169:13: Error return value of `pc.Destroy` is not checked (errcheck)
pc.Destroy()
^
snowflake.go:225:19: Error return value of `pt.SmethodError` is not checked (errcheck)
pt.SmethodError(bindaddr.MethodName, "no such method")
^
snowflake.go:239:11: Error return value of `io.Copy` is not checked (errcheck)
io.Copy(ioutil.Discard, os.Stdin)
^
snowflake.go:82:20: error strings should not be capitalized or end with punctuation or a newline (golint)
return fmt.Errorf("SetDeadline not implemented")
^
snowflake.go:86:20: error strings should not be capitalized or end with punctuation or a newline (golint)
return fmt.Errorf("SetReadDeadline not implemented")
^
snowflake.go:90:20: error strings should not be capitalized or end with punctuation or a newline (golint)
return fmt.Errorf("SetWriteDeadline not implemented")
^
snowflake.go:230:24: should drop = 0 from declaration of var numHandlers; it is the zero value (golint)
var numHandlers int = 0
^
snowflake.go:142:7: shadow: declaration of "err" shadows declaration at line 116 (govet)
n, err := pw.Write(msg)
^
snowflake.go:193:6: shadow: declaration of "err" shadows declaration at line 183 (govet)
f, err := os.OpenFile(logFilename, os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0600)
Trac:
Username: sah