Skip to content

Commit 0e2df06

Browse files
authored
Merge pull request #5 from khorshuheng/better-status-code
Return 500 if online request returns error
2 parents e452ae5 + e25aecb commit 0e2df06

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

main.go

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -65,16 +65,18 @@ func main() {
6565
if len(requests) == 1 {
6666
resp, err := client.GetOnlineFeatures(ctx, &requests[0])
6767
if err != nil {
68-
log.Fatalf("%v", err)
68+
w.WriteHeader(500)
69+
} else {
70+
postProcessResponse(resp)
71+
w.WriteHeader(200)
6972
}
70-
postProcessResponse(resp)
71-
w.WriteHeader(200)
7273
} else {
7374
var wg sync.WaitGroup
7475
wg.Add(len(requests))
7576

7677
fatalErrors := make(chan error)
7778
wgDone := make(chan bool)
79+
atLeastOneError := false
7880

7981
for _, request := range requests {
8082
request := request
@@ -97,13 +99,15 @@ func main() {
9799
case <-wgDone:
98100
close(fatalErrors)
99101
break
100-
case err := <-fatalErrors:
101-
close(fatalErrors)
102-
log.Fatalf("%v", err)
103-
102+
case <-fatalErrors:
103+
atLeastOneError = true
104104
}
105105

106-
w.WriteHeader(200)
106+
if atLeastOneError {
107+
w.WriteHeader(500)
108+
} else {
109+
w.WriteHeader(200)
110+
}
107111
}
108112

109113
})

0 commit comments

Comments
 (0)