Start cleaning up linter errors. (#358)

* Start cleaning up linter errors. For #357

* Fix unmarshalling NullTime values

* More linter fixes

* Remove commented code

* Move defer up

* Consolidate error check lines

* Move error check to make sure row iteration was successful

* Cleaner error check + do not recreate pipe if it exists

* Consolidate hashing to generate client id
This commit is contained in:
Gabe Kangas
2020-11-14 18:39:53 -08:00
committed by GitHub
parent c76b7229a5
commit 4d2066a76d
34 changed files with 248 additions and 143 deletions

View File

@@ -1,7 +1,7 @@
package utils
import (
"crypto/md5"
"crypto/md5" //nolint
"encoding/hex"
"net"
"net/http"
@@ -18,9 +18,8 @@ func GenerateClientIDFromRequest(req *http.Request) string {
clientID := strings.Join(ipAddressComponents, ":") + req.UserAgent()
// Create a MD5 hash of this ip + useragent
hasher := md5.New()
hasher.Write([]byte(clientID))
return hex.EncodeToString(hasher.Sum(nil))
b := md5.Sum([]byte(clientID)) // nolint
return hex.EncodeToString(b[:])
}
// GetIPAddressFromRequest returns the IP address from a http request.

View File

@@ -17,7 +17,7 @@ func (nt *NullTime) Scan(value interface{}) error {
return nil
}
// Value implements the driver Valuer interface.
// Value implements the driver Value interface.
func (nt NullTime) Value() (driver.Value, error) {
if !nt.Valid {
return nil, nil
@@ -32,3 +32,19 @@ func (nt NullTime) MarshalJSON() ([]byte, error) {
val := fmt.Sprintf("\"%s\"", nt.Time.Format(time.RFC3339))
return []byte(val), nil
}
func (nt NullTime) UnmarshalJSON(data []byte) error {
dateString := string(data)
if dateString == "null" {
return nil
}
dateStringWithoutQuotes := dateString[1 : len(dateString)-1]
parsedDateTime, err := time.Parse(time.RFC3339, dateStringWithoutQuotes)
if err != nil {
return err
}
nt.Time = parsedDateTime
return nil
}

View File

@@ -54,7 +54,7 @@ func Copy(source, destination string) error {
return err
}
return ioutil.WriteFile(destination, input, 0644)
return ioutil.WriteFile(destination, input, 0600)
}
// Move moves the file to destination.