Skip to content
This repository was archived by the owner on Nov 24, 2020. It is now read-only.

Commit 104e454

Browse files
authored
cleaner rpc error handling
2 parents e8a471a + 0a1021c commit 104e454

File tree

10 files changed

+164
-327
lines changed

10 files changed

+164
-327
lines changed

ci/serverci.go

Lines changed: 42 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -44,54 +44,48 @@ type FileStats struct {
4444
func openx() {
4545
http.HandleFunc("/openx-darwinamd64", func(w http.ResponseWriter, r *http.Request) {
4646
err := erpc.CheckGet(w, r)
47-
if err != nil {
48-
log.Println(err)
49-
erpc.ResponseHandler(w, erpc.StatusNotFound)
47+
if erpc.Err(w, err, erpc.StatusNotFound) {
48+
return
5049
}
5150

5251
http.ServeFile(w, r, "openx-darwinamd64.gz")
5352
})
5453
http.HandleFunc("/openx-linuxamd64", func(w http.ResponseWriter, r *http.Request) {
5554
err := erpc.CheckGet(w, r)
56-
if err != nil {
57-
log.Println(err)
58-
erpc.ResponseHandler(w, erpc.StatusNotFound)
55+
if erpc.Err(w, err, erpc.StatusNotFound) {
56+
return
5957
}
6058

6159
http.ServeFile(w, r, "openx-linuxamd64.gz")
6260
})
6361
http.HandleFunc("/openx-linux386", func(w http.ResponseWriter, r *http.Request) {
6462
err := erpc.CheckGet(w, r)
65-
if err != nil {
66-
log.Println(err)
67-
erpc.ResponseHandler(w, erpc.StatusNotFound)
63+
if erpc.Err(w, err, erpc.StatusNotFound) {
64+
return
6865
}
6966

7067
http.ServeFile(w, r, "openx-linux386.gz")
7168
})
7269
http.HandleFunc("/openx-arm64", func(w http.ResponseWriter, r *http.Request) {
7370
err := erpc.CheckGet(w, r)
74-
if err != nil {
75-
log.Println(err)
76-
erpc.ResponseHandler(w, erpc.StatusNotFound)
71+
if erpc.Err(w, err, erpc.StatusNotFound) {
72+
return
7773
}
7874

7975
http.ServeFile(w, r, "openx-arm64.gz")
8076
})
8177
http.HandleFunc("/openx-arm", func(w http.ResponseWriter, r *http.Request) {
8278
err := erpc.CheckGet(w, r)
83-
if err != nil {
84-
log.Println(err)
85-
erpc.ResponseHandler(w, erpc.StatusNotFound)
79+
if erpc.Err(w, err, erpc.StatusNotFound) {
80+
return
8681
}
8782

8883
http.ServeFile(w, r, "openx-arm.gz")
8984
})
9085
http.HandleFunc("/openx", func(w http.ResponseWriter, r *http.Request) {
9186
err := erpc.CheckGet(w, r)
92-
if err != nil {
93-
log.Println(err)
94-
erpc.ResponseHandler(w, erpc.StatusNotFound)
87+
if erpc.Err(w, err, erpc.StatusNotFound) {
88+
return
9589
}
9690

9791
http.ServeFile(w, r, "openx.gz")
@@ -101,54 +95,48 @@ func openx() {
10195
func opensolar() {
10296
http.HandleFunc("/opensolar-darwinamd64", func(w http.ResponseWriter, r *http.Request) {
10397
err := erpc.CheckGet(w, r)
104-
if err != nil {
105-
log.Println(err)
106-
erpc.ResponseHandler(w, erpc.StatusNotFound)
98+
if erpc.Err(w, err, erpc.StatusNotFound) {
99+
return
107100
}
108101

109102
http.ServeFile(w, r, "opensolar-darwinamd64.gz")
110103
})
111104
http.HandleFunc("/opensolar-linuxamd64", func(w http.ResponseWriter, r *http.Request) {
112105
err := erpc.CheckGet(w, r)
113-
if err != nil {
114-
log.Println(err)
115-
erpc.ResponseHandler(w, erpc.StatusNotFound)
106+
if erpc.Err(w, err, erpc.StatusNotFound) {
107+
return
116108
}
117109

118110
http.ServeFile(w, r, "opensolar-linuxamd64.gz")
119111
})
120112
http.HandleFunc("/opensolar-linux386", func(w http.ResponseWriter, r *http.Request) {
121113
err := erpc.CheckGet(w, r)
122-
if err != nil {
123-
log.Println(err)
124-
erpc.ResponseHandler(w, erpc.StatusNotFound)
114+
if erpc.Err(w, err, erpc.StatusNotFound) {
115+
return
125116
}
126117

127118
http.ServeFile(w, r, "opensolar-linux386.gz")
128119
})
129120
http.HandleFunc("/opensolar-arm64", func(w http.ResponseWriter, r *http.Request) {
130121
err := erpc.CheckGet(w, r)
131-
if err != nil {
132-
log.Println(err)
133-
erpc.ResponseHandler(w, erpc.StatusNotFound)
122+
if erpc.Err(w, err, erpc.StatusNotFound) {
123+
return
134124
}
135125

136126
http.ServeFile(w, r, "opensolar-arm64.gz")
137127
})
138128
http.HandleFunc("/opensolar-arm", func(w http.ResponseWriter, r *http.Request) {
139129
err := erpc.CheckGet(w, r)
140-
if err != nil {
141-
log.Println(err)
142-
erpc.ResponseHandler(w, erpc.StatusNotFound)
130+
if erpc.Err(w, err, erpc.StatusNotFound) {
131+
return
143132
}
144133

145134
http.ServeFile(w, r, "opensolar-arm.gz")
146135
})
147136
http.HandleFunc("/opensolar", func(w http.ResponseWriter, r *http.Request) {
148137
err := erpc.CheckGet(w, r)
149-
if err != nil {
150-
log.Println(err)
151-
erpc.ResponseHandler(w, erpc.StatusNotFound)
138+
if erpc.Err(w, err, erpc.StatusNotFound) {
139+
return
152140
}
153141

154142
http.ServeFile(w, r, "opensolar.gz")
@@ -158,54 +146,48 @@ func opensolar() {
158146
func teller() {
159147
http.HandleFunc("/teller-darwinamd64", func(w http.ResponseWriter, r *http.Request) {
160148
err := erpc.CheckGet(w, r)
161-
if err != nil {
162-
log.Println(err)
163-
erpc.ResponseHandler(w, erpc.StatusNotFound)
149+
if erpc.Err(w, err, erpc.StatusNotFound) {
150+
return
164151
}
165152

166153
http.ServeFile(w, r, "teller-darwinamd64.gz")
167154
})
168155
http.HandleFunc("/teller-linuxamd64", func(w http.ResponseWriter, r *http.Request) {
169156
err := erpc.CheckGet(w, r)
170-
if err != nil {
171-
log.Println(err)
172-
erpc.ResponseHandler(w, erpc.StatusNotFound)
157+
if erpc.Err(w, err, erpc.StatusNotFound) {
158+
return
173159
}
174160

175161
http.ServeFile(w, r, "teller-linuxamd64.gz")
176162
})
177163
http.HandleFunc("/teller-linux386", func(w http.ResponseWriter, r *http.Request) {
178164
err := erpc.CheckGet(w, r)
179-
if err != nil {
180-
log.Println(err)
181-
erpc.ResponseHandler(w, erpc.StatusNotFound)
165+
if erpc.Err(w, err, erpc.StatusNotFound) {
166+
return
182167
}
183168

184169
http.ServeFile(w, r, "teller-linux386.gz")
185170
})
186171
http.HandleFunc("/teller-arm64", func(w http.ResponseWriter, r *http.Request) {
187172
err := erpc.CheckGet(w, r)
188-
if err != nil {
189-
log.Println(err)
190-
erpc.ResponseHandler(w, erpc.StatusNotFound)
173+
if erpc.Err(w, err, erpc.StatusNotFound) {
174+
return
191175
}
192176

193177
http.ServeFile(w, r, "teller-arm64.gz")
194178
})
195179
http.HandleFunc("/teller-arm", func(w http.ResponseWriter, r *http.Request) {
196180
err := erpc.CheckGet(w, r)
197-
if err != nil {
198-
log.Println(err)
199-
erpc.ResponseHandler(w, erpc.StatusNotFound)
181+
if erpc.Err(w, err, erpc.StatusNotFound) {
182+
return
200183
}
201184

202185
http.ServeFile(w, r, "teller-arm.gz")
203186
})
204187
http.HandleFunc("/teller", func(w http.ResponseWriter, r *http.Request) {
205188
err := erpc.CheckGet(w, r)
206-
if err != nil {
207-
log.Println(err)
208-
erpc.ResponseHandler(w, erpc.StatusNotFound)
189+
if erpc.Err(w, err, erpc.StatusNotFound) {
190+
return
209191
}
210192

211193
http.ServeFile(w, r, "teller.gz")
@@ -215,9 +197,8 @@ func teller() {
215197
func lastbuilt() {
216198
http.HandleFunc("/lastbuilt", func(w http.ResponseWriter, r *http.Request) {
217199
err := erpc.CheckGet(w, r)
218-
if err != nil {
219-
log.Println(err)
220-
erpc.ResponseHandler(w, erpc.StatusNotFound)
200+
if erpc.Err(w, err, erpc.StatusNotFound) {
201+
return
221202
}
222203

223204
erpc.MarshalSend(w, LastBuilt)
@@ -227,9 +208,8 @@ func lastbuilt() {
227208
func shaEndpoint() {
228209
http.HandleFunc("/sha", func(w http.ResponseWriter, r *http.Request) {
229210
err := erpc.CheckGet(w, r)
230-
if err != nil {
231-
log.Println(err)
232-
erpc.ResponseHandler(w, erpc.StatusNotFound)
211+
if erpc.Err(w, err, erpc.StatusNotFound) {
212+
return
233213
}
234214

235215
erpc.MarshalSend(w, Sha)
@@ -246,9 +226,8 @@ type HashesResponse struct {
246226
func hashesEndpoint() {
247227
http.HandleFunc("/hashes", func(w http.ResponseWriter, r *http.Request) {
248228
err := erpc.CheckGet(w, r)
249-
if err != nil {
250-
log.Println(err)
251-
erpc.ResponseHandler(w, erpc.StatusNotFound)
229+
if erpc.Err(w, err, erpc.StatusNotFound) {
230+
return
252231
}
253232

254233
var x HashesResponse

go.mod

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@ module github.com/YaleOpenLab/openx
33
go 1.13
44

55
require (
6-
github.com/Varunram/essentials v0.0.0-20200526130423-1a2f39ff6984
6+
github.com/Varunram/essentials v1.0.1
77
github.com/algorand/go-algorand-sdk v1.3.0 // indirect
88
github.com/bithyve/research v0.0.0-20191102090848-d238806b60bf
99
github.com/boltdb/bolt v1.3.1
1010
github.com/btcsuite/btcd v0.20.1-beta // indirect
1111
github.com/fsnotify/fsnotify v1.4.9 // indirect
1212
github.com/go-chi/chi v4.1.1+incompatible // indirect
1313
github.com/go-errors/errors v1.0.2 // indirect
14+
github.com/ipfs/go-cid v0.0.6 // indirect
1415
github.com/ipfs/go-ipfs-api v0.0.3 // indirect
1516
github.com/ipfs/go-ipfs-files v0.0.8 // indirect
1617
github.com/jessevdk/go-flags v1.4.0
@@ -28,7 +29,7 @@ require (
2829
github.com/spf13/jwalterweatherman v1.1.0 // indirect
2930
github.com/spf13/pflag v1.0.5 // indirect
3031
github.com/spf13/viper v1.7.0
31-
github.com/stellar/go v0.0.0-20200522225735-c19111f1f904
32+
github.com/stellar/go v0.0.0-20200527155254-4b6180abef10
3233
github.com/stellar/go-xdr v0.0.0-20200331223602-71a1e6d555f2 // indirect
3334
github.com/stretchr/objx v0.2.0 // indirect
3435
golang.org/x/sys v0.0.0-20200523222454-059865788121 // indirect

go.sum

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ github.com/Varunram/essentials v0.0.0-20200519142747-e1f5f5a44c33 h1:X3lTq0lpCiS
4040
github.com/Varunram/essentials v0.0.0-20200519142747-e1f5f5a44c33/go.mod h1:t0p2o938PaHxRNf2WyDCXe6cVyPWmlUD0DLdo0IgQ7Y=
4141
github.com/Varunram/essentials v0.0.0-20200526130423-1a2f39ff6984 h1:JIFJhtJFuEKrsZniYDHvZhSnivY5Q0kV6AEr2rvRdeg=
4242
github.com/Varunram/essentials v0.0.0-20200526130423-1a2f39ff6984/go.mod h1:t0p2o938PaHxRNf2WyDCXe6cVyPWmlUD0DLdo0IgQ7Y=
43+
github.com/Varunram/essentials v1.0.1 h1:X5bT5vwO/mHzHeBpYdPJXQ8vFu/UjriOBVajq57cSM4=
44+
github.com/Varunram/essentials v1.0.1/go.mod h1:JjRQLGupVG/cYr+4bsEqfNlI1yRrEJ2tzp1XcmvztH0=
4345
github.com/VictoriaMetrics/fastcache v1.5.7/go.mod h1:ptDBkNMQI4RtmVo8VS/XwRY6RoTu1dAWCbrk+6WsEM8=
4446
github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII=
4547
github.com/ajg/form v0.0.0-20160822230020-523a5da1a92f h1:zvClvFQwU++UpIUBGC8YmDlfhUrweEy1R1Fj1gu5iIM=
@@ -230,6 +232,8 @@ github.com/influxdata/influxdb v1.2.3-0.20180221223340-01288bdb0883/go.mod h1:qZ
230232
github.com/ipfs/go-cid v0.0.1/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM=
231233
github.com/ipfs/go-cid v0.0.5 h1:o0Ix8e/ql7Zb5UVUJEUfjsWCIY8t48++9lR8qi6oiJU=
232234
github.com/ipfs/go-cid v0.0.5/go.mod h1:plgt+Y5MnOey4vO4UlUazGqdbEXuFYitED67FexhXog=
235+
github.com/ipfs/go-cid v0.0.6 h1:go0y+GcDOGeJIV01FeBsta4FHngoA4Wz7KMeLkXAhMs=
236+
github.com/ipfs/go-cid v0.0.6/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I=
233237
github.com/ipfs/go-ipfs-api v0.0.3 h1:1XZBfVDGj0GyyO5WItLrz2opCwezIm9LfFcBfe+sRxM=
234238
github.com/ipfs/go-ipfs-api v0.0.3/go.mod h1:EgBqlEzrA22SnNKq4tcP2GDPKxbfF+uRTd2YFmR1uUk=
235239
github.com/ipfs/go-ipfs-files v0.0.6 h1:sMRtPiSmDrTA2FEiFTtk1vWgO2Dkg7bxXKJ+s8/cDAc=
@@ -499,6 +503,8 @@ github.com/stellar/go v0.0.0-20200519000909-93dd37921340 h1:14QFc3b6Yeb4sNZ1kbtK
499503
github.com/stellar/go v0.0.0-20200519000909-93dd37921340/go.mod h1:Q4JDgZhGw7Ytu1924PzNkwr2GsLptrzAjwC/icuXnLU=
500504
github.com/stellar/go v0.0.0-20200522225735-c19111f1f904 h1:GpiY0phdR6nXeBQv90PsKxT3EZMmBt7E0qbTBpfHFHk=
501505
github.com/stellar/go v0.0.0-20200522225735-c19111f1f904/go.mod h1:Q4JDgZhGw7Ytu1924PzNkwr2GsLptrzAjwC/icuXnLU=
506+
github.com/stellar/go v0.0.0-20200527155254-4b6180abef10 h1:oMka3ywMJQHCsZe8NtLdYe5CLWBSyS6POhUYe0ICoBM=
507+
github.com/stellar/go v0.0.0-20200527155254-4b6180abef10/go.mod h1:Q4JDgZhGw7Ytu1924PzNkwr2GsLptrzAjwC/icuXnLU=
502508
github.com/stellar/go-xdr v0.0.0-20180917104419-0bc96f33a18e h1:n/hfey8pO+RYMoGXyvyzuw5pdO8IFDoyAL/g5OiCesY=
503509
github.com/stellar/go-xdr v0.0.0-20180917104419-0bc96f33a18e/go.mod h1:gpOLVzy6TVYTQ3LvHSN9RJC700FkhFCpSE82u37aNRM=
504510
github.com/stellar/go-xdr v0.0.0-20200331223602-71a1e6d555f2 h1:K9H+A+eWe8ZlnpNha+pXbEK+jtIluQp/2dKxkK8k7OE=

0 commit comments

Comments
 (0)