Skip to content

Commit d3be8a1

Browse files
committed
more code review
1 parent 6b9418b commit d3be8a1

5 files changed

Lines changed: 17 additions & 5 deletions

File tree

fastmask/auth.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@ func Authenticate(httpClient *http.Client, token SecureToken) (fastmailIdentity
1616
req.Header.Set(_authHeader, "Bearer "+token.FullToken())
1717

1818
resp, err := httpClient.Do(req)
19-
if err != nil || resp == nil {
19+
if err != nil {
20+
return
21+
}
22+
if resp == nil {
23+
err = fmt.Errorf("strangely nil resp despite err being nil")
2024
return
2125
}
2226
defer func() {

fastmask/const.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,5 @@ const (
1818
_maskedEmailSetMethod = "MaskedEmail/set"
1919
_prefixLen = 5
2020
_primaryAccountKey = "urn:ietf:params:jmap:core"
21+
_programName = "fastmask"
2122
)

fastmask/fastmail.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,11 @@ func CreateMaskedEmail(httpClient *http.Client, fastmailId *FastmailIdentity, do
4747
req.Header.Set(_contentTypeHeader, _jsonContentType)
4848
req.Header.Set(_authHeader, "Bearer "+token.FullToken())
4949
resp, err := httpClient.Do(req)
50-
if err != nil || resp == nil {
50+
if err != nil {
51+
return
52+
}
53+
if resp == nil {
54+
err = fmt.Errorf("strangely nil resp despite err being nil")
5155
return
5256
}
5357
defer func() {
@@ -59,8 +63,10 @@ func CreateMaskedEmail(httpClient *http.Client, fastmailId *FastmailIdentity, do
5963

6064
bodyBytes, err := io.ReadAll(resp.Body)
6165
if err != nil {
66+
err = fmt.Errorf("failed to read response body %d: %w", resp.StatusCode, err)
6267
return
6368
}
69+
6470
if resp.StatusCode != 200 {
6571
body := string(bodyBytes)
6672
err = fmt.Errorf("server returned status code %d: %s", resp.StatusCode, body)

fastmask/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ func usage(programName string) {
1616

1717
func main() {
1818
if len(os.Args) != 2 {
19-
programName := "fastmask"
19+
programName := _programName
2020
if len(os.Args) > 0 {
2121
programName = os.Args[0]
2222
}

fastmask/prefix.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,16 @@ var (
88
)
99

1010
func GenPrefix() string {
11-
randomBytes := make([]byte, _prefixLen)
11+
prefixLen := max(1, _prefixLen)
12+
randomBytes := make([]byte, prefixLen)
1213
_, err := rand.Read(randomBytes)
1314
if err != nil {
1415
// the docs say this should never happen so it's acceptable to panic in
1516
// this case rather than return an error to the caller
1617
// https://pkg.go.dev/crypto/rand#Read
1718
panic("failed to generate prefix")
1819
}
19-
for i := range _prefixLen {
20+
for i := range prefixLen {
2021
randByte := randomBytes[i]
2122
lexeme := _lexicon[int(randByte)%_numLexemes]
2223
randomBytes[i] = lexeme

0 commit comments

Comments
 (0)