Skip to content

Commit 181f89f

Browse files
authored
Merge pull request #734 from linkedin/http-nobody
Prefer http.NoBody to nil body
2 parents bb55077 + 4c89ae1 commit 181f89f

File tree

11 files changed

+51
-54
lines changed

11 files changed

+51
-54
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
${{ runner.os }}-go-
2929
3030
- name: Install dependencies
31-
run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.42.1
31+
run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.43.0
3232

3333
- name: Run test suite
3434
run: make test

core/internal/helpers/sarama.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ package helpers
1313
import (
1414
"crypto/tls"
1515
"crypto/x509"
16-
"io/ioutil"
16+
"os"
1717
"time"
1818

1919
"go.uber.org/zap"
@@ -92,7 +92,7 @@ func GetSaramaConfigFromClientProfile(profileName string) *sarama.Config {
9292
if caFile == "" {
9393
saramaConfig.Net.TLS.Config = &tls.Config{}
9494
} else {
95-
caCert, err := ioutil.ReadFile(caFile)
95+
caCert, err := os.ReadFile(caFile)
9696
if err != nil {
9797
panic("cannot read TLS CA file: " + err.Error())
9898
}

core/internal/helpers/zookeeper.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ package helpers
1313
import (
1414
"crypto/tls"
1515
"crypto/x509"
16-
"io/ioutil"
1716
"net"
17+
"os"
1818
"time"
1919

2020
"github.com/pkg/errors"
@@ -75,7 +75,7 @@ func ZookeeperConnectTLS(servers []string, sessionTimeout time.Duration, logger
7575
// newTLSDialer creates a dialer with TLS configured. It will install caFile as root CA and if both certFile and keyFile are
7676
// set, it will add those as a certificate.
7777
func newTLSDialer(addr, caFile, certFile, keyFile string) (zk.Dialer, error) {
78-
caCert, err := ioutil.ReadFile(caFile)
78+
caCert, err := os.ReadFile(caFile)
7979
if err != nil {
8080
return nil, errors.New("could not read caFile: " + err.Error())
8181
}

core/internal/httpserver/config_test.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func TestHttpServer_configMain(t *testing.T) {
3838
setupConfiguration()
3939

4040
// Set up a request
41-
req, err := http.NewRequest("GET", "/v3/config", nil)
41+
req, err := http.NewRequest("GET", "/v3/config", http.NoBody)
4242
assert.NoError(t, err, "Expected request setup to return no error")
4343

4444
// Call the handler via httprouter
@@ -60,7 +60,7 @@ func TestHttpServer_configStorageList(t *testing.T) {
6060
setupConfiguration()
6161

6262
// Set up a request
63-
req, err := http.NewRequest("GET", "/v3/config/storage", nil)
63+
req, err := http.NewRequest("GET", "/v3/config/storage", http.NoBody)
6464
assert.NoError(t, err, "Expected request setup to return no error")
6565

6666
// Call the handler via httprouter
@@ -84,7 +84,7 @@ func TestHttpServer_configConsumerList(t *testing.T) {
8484
setupConfiguration()
8585

8686
// Set up a request
87-
req, err := http.NewRequest("GET", "/v3/config/consumer", nil)
87+
req, err := http.NewRequest("GET", "/v3/config/consumer", http.NoBody)
8888
assert.NoError(t, err, "Expected request setup to return no error")
8989

9090
// Call the handler via httprouter
@@ -108,7 +108,7 @@ func TestHttpServer_configClusterList(t *testing.T) {
108108
setupConfiguration()
109109

110110
// Set up a request
111-
req, err := http.NewRequest("GET", "/v3/config/cluster", nil)
111+
req, err := http.NewRequest("GET", "/v3/config/cluster", http.NoBody)
112112
assert.NoError(t, err, "Expected request setup to return no error")
113113

114114
// Call the handler via httprouter
@@ -132,7 +132,7 @@ func TestHttpServer_configEvaluatorList(t *testing.T) {
132132
setupConfiguration()
133133

134134
// Set up a request
135-
req, err := http.NewRequest("GET", "/v3/config/evaluator", nil)
135+
req, err := http.NewRequest("GET", "/v3/config/evaluator", http.NoBody)
136136
assert.NoError(t, err, "Expected request setup to return no error")
137137

138138
// Call the handler via httprouter
@@ -156,7 +156,7 @@ func TestHttpServer_configNotifierList(t *testing.T) {
156156
setupConfiguration()
157157

158158
// Set up a request
159-
req, err := http.NewRequest("GET", "/v3/config/notifier", nil)
159+
req, err := http.NewRequest("GET", "/v3/config/notifier", http.NoBody)
160160
assert.NoError(t, err, "Expected request setup to return no error")
161161

162162
// Call the handler via httprouter
@@ -180,7 +180,7 @@ func TestHttpServer_configStorageDetail(t *testing.T) {
180180
setupConfiguration()
181181

182182
// Set up a request
183-
req, err := http.NewRequest("GET", "/v3/config/storage/teststorage", nil)
183+
req, err := http.NewRequest("GET", "/v3/config/storage/teststorage", http.NoBody)
184184
assert.NoError(t, err, "Expected request setup to return no error")
185185

186186
// Call the handler via httprouter
@@ -206,7 +206,7 @@ func TestHttpServer_configStorageDetail(t *testing.T) {
206206
assert.Equalf(t, "inmemory", resp.Module.ClassName, "Expected ClassName to be immemory, not %v", resp.Module.ClassName)
207207

208208
// Call again for a 404
209-
req, err = http.NewRequest("GET", "/v3/config/storage/nomodule", nil)
209+
req, err = http.NewRequest("GET", "/v3/config/storage/nomodule", http.NoBody)
210210
assert.NoError(t, err, "Expected request setup to return no error")
211211
rr = httptest.NewRecorder()
212212
coordinator.router.ServeHTTP(rr, req)
@@ -218,7 +218,7 @@ func TestHttpServer_configConsumerDetail(t *testing.T) {
218218
setupConfiguration()
219219

220220
// Set up a request
221-
req, err := http.NewRequest("GET", "/v3/config/consumer/testconsumer", nil)
221+
req, err := http.NewRequest("GET", "/v3/config/consumer/testconsumer", http.NoBody)
222222
assert.NoError(t, err, "Expected request setup to return no error")
223223

224224
// Call the handler via httprouter
@@ -244,7 +244,7 @@ func TestHttpServer_configConsumerDetail(t *testing.T) {
244244
assert.Equalf(t, "kafka_zk", resp.Module.ClassName, "Expected ClassName to be kafka_zk, not %v", resp.Module.ClassName)
245245

246246
// Call again for a 404
247-
req, err = http.NewRequest("GET", "/v3/config/consumer/nomodule", nil)
247+
req, err = http.NewRequest("GET", "/v3/config/consumer/nomodule", http.NoBody)
248248
assert.NoError(t, err, "Expected request setup to return no error")
249249
rr = httptest.NewRecorder()
250250
coordinator.router.ServeHTTP(rr, req)
@@ -256,7 +256,7 @@ func TestHttpServer_configEvaluatorDetail(t *testing.T) {
256256
setupConfiguration()
257257

258258
// Set up a request
259-
req, err := http.NewRequest("GET", "/v3/config/evaluator/testevaluator", nil)
259+
req, err := http.NewRequest("GET", "/v3/config/evaluator/testevaluator", http.NoBody)
260260
assert.NoError(t, err, "Expected request setup to return no error")
261261

262262
// Call the handler via httprouter
@@ -282,7 +282,7 @@ func TestHttpServer_configEvaluatorDetail(t *testing.T) {
282282
assert.Equalf(t, "caching", resp.Module.ClassName, "Expected ClassName to be caching, not %v", resp.Module.ClassName)
283283

284284
// Call again for a 404
285-
req, err = http.NewRequest("GET", "/v3/config/evaluator/nomodule", nil)
285+
req, err = http.NewRequest("GET", "/v3/config/evaluator/nomodule", http.NoBody)
286286
assert.NoError(t, err, "Expected request setup to return no error")
287287
rr = httptest.NewRecorder()
288288
coordinator.router.ServeHTTP(rr, req)
@@ -294,7 +294,7 @@ func TestHttpServer_configNotifierDetail(t *testing.T) {
294294
setupConfiguration()
295295

296296
// Set up a request
297-
req, err := http.NewRequest("GET", "/v3/config/notifier/testnotifier", nil)
297+
req, err := http.NewRequest("GET", "/v3/config/notifier/testnotifier", http.NoBody)
298298
assert.NoError(t, err, "Expected request setup to return no error")
299299

300300
// Call the handler via httprouter
@@ -320,7 +320,7 @@ func TestHttpServer_configNotifierDetail(t *testing.T) {
320320
assert.Equalf(t, "null", resp.Module.ClassName, "Expected ClassName to be null, not %v", resp.Module.ClassName)
321321

322322
// Call again for a 404
323-
req, err = http.NewRequest("GET", "/v3/config/notifier/nomodule", nil)
323+
req, err = http.NewRequest("GET", "/v3/config/notifier/nomodule", http.NoBody)
324324
assert.NoError(t, err, "Expected request setup to return no error")
325325
rr = httptest.NewRecorder()
326326
coordinator.router.ServeHTTP(rr, req)

core/internal/httpserver/coordinator.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import (
1919
"crypto/x509"
2020
"encoding/json"
2121
"errors"
22-
"io/ioutil"
2322
"net"
2423
"net/http"
2524
"os"
@@ -99,7 +98,7 @@ func (hc *Coordinator) Configure() {
9998
server.TLSConfig = &tls.Config{}
10099

101100
if caFile != "" {
102-
caCert, err := ioutil.ReadFile(caFile)
101+
caCert, err := os.ReadFile(caFile)
103102
if err != nil {
104103
panic("cannot read TLS CA file: " + err.Error())
105104
}

core/internal/httpserver/coordinator_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ func TestHttpServer_handleAdmin(t *testing.T) {
4848
coordinator := fixtureConfiguredCoordinator()
4949

5050
// Set up a request
51-
req, err := http.NewRequest("GET", "/burrow/admin", nil)
51+
req, err := http.NewRequest("GET", "/burrow/admin", http.NoBody)
5252
assert.NoError(t, err, "Expected request setup to return no error")
5353

5454
// Call the handler via httprouter
@@ -63,7 +63,7 @@ func TestHttpServer_handleReady(t *testing.T) {
6363
coordinator := fixtureConfiguredCoordinator()
6464

6565
// Set up a request
66-
req, err := http.NewRequest("GET", "/burrow/admin/ready", nil)
66+
req, err := http.NewRequest("GET", "/burrow/admin/ready", http.NoBody)
6767
assert.NoError(t, err, "Expected request setup to return no error")
6868

6969
// Call the handler via httprouter, the app is not ready so we expect "STARTING" and HTTP 503
@@ -92,7 +92,7 @@ func TestHttpServer_getClusterList(t *testing.T) {
9292
}()
9393

9494
// Set up a request
95-
req, err := http.NewRequest("GET", "/v3/admin/loglevel", nil)
95+
req, err := http.NewRequest("GET", "/v3/admin/loglevel", http.NoBody)
9696
assert.NoError(t, err, "Expected request setup to return no error")
9797

9898
// Call the handler via httprouter
@@ -139,7 +139,7 @@ func TestHttpServer_DefaultHandler(t *testing.T) {
139139
coordinator := fixtureConfiguredCoordinator()
140140

141141
// Set up a request
142-
req, err := http.NewRequest("GET", "/v3/no/such/uri", nil)
142+
req, err := http.NewRequest("GET", "/v3/no/such/uri", http.NoBody)
143143
assert.NoError(t, err, "Expected request setup to return no error")
144144

145145
// Call the handler via httprouter

core/internal/httpserver/kafka_test.go

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ func TestHttpServer_handleClusterList(t *testing.T) {
3636
}()
3737

3838
// Set up a request
39-
req, err := http.NewRequest("GET", "/v3/kafka", nil)
39+
req, err := http.NewRequest("GET", "/v3/kafka", http.NoBody)
4040
assert.NoError(t, err, "Expected request setup to return no error")
4141

4242
// Call the handler via httprouter
@@ -61,7 +61,7 @@ func TestHttpServer_handleClusterDetail(t *testing.T) {
6161
viper.Set("cluster.testcluster.client-profile", "test")
6262

6363
// Set up a request
64-
req, err := http.NewRequest("GET", "/v3/kafka/testcluster", nil)
64+
req, err := http.NewRequest("GET", "/v3/kafka/testcluster", http.NoBody)
6565
assert.NoError(t, err, "Expected request setup to return no error")
6666

6767
// Call the handler via httprouter
@@ -87,7 +87,7 @@ func TestHttpServer_handleClusterDetail(t *testing.T) {
8787
assert.Equalf(t, "kafka", resp.Module.ClassName, "Expected response to contain a module with type kafka, not %v", resp.Module.ClassName)
8888

8989
// Call again for a 404
90-
req, err = http.NewRequest("GET", "/v3/kafka/nocluster", nil)
90+
req, err = http.NewRequest("GET", "/v3/kafka/nocluster", http.NoBody)
9191
assert.NoError(t, err, "Expected request setup to return no error")
9292
rr = httptest.NewRecorder()
9393
coordinator.router.ServeHTTP(rr, req)
@@ -113,7 +113,7 @@ func TestHttpServer_handleTopicList(t *testing.T) {
113113
}()
114114

115115
// Set up a request
116-
req, err := http.NewRequest("GET", "/v3/kafka/testcluster/topic", nil)
116+
req, err := http.NewRequest("GET", "/v3/kafka/testcluster/topic", http.NoBody)
117117
assert.NoError(t, err, "Expected request setup to return no error")
118118

119119
// Call the handler via httprouter
@@ -131,7 +131,7 @@ func TestHttpServer_handleTopicList(t *testing.T) {
131131
assert.Equalf(t, []string{"testtopic"}, resp.Topics, "Expected Topics list to contain just testtopic, not %v", resp.Topics)
132132

133133
// Call again for a 404
134-
req, err = http.NewRequest("GET", "/v3/kafka/nocluster/topic", nil)
134+
req, err = http.NewRequest("GET", "/v3/kafka/nocluster/topic", http.NoBody)
135135
assert.NoError(t, err, "Expected request setup to return no error")
136136
rr = httptest.NewRecorder()
137137
coordinator.router.ServeHTTP(rr, req)
@@ -157,7 +157,7 @@ func TestHttpServer_handleConsumerList(t *testing.T) {
157157
}()
158158

159159
// Set up a request
160-
req, err := http.NewRequest("GET", "/v3/kafka/testcluster/consumer", nil)
160+
req, err := http.NewRequest("GET", "/v3/kafka/testcluster/consumer", http.NoBody)
161161
assert.NoError(t, err, "Expected request setup to return no error")
162162

163163
// Call the handler via httprouter
@@ -175,7 +175,7 @@ func TestHttpServer_handleConsumerList(t *testing.T) {
175175
assert.Equalf(t, []string{"testgroup"}, resp.Consumers, "Expected Consumers list to contain just testgroup, not %v", resp.Consumers)
176176

177177
// Call again for a 404
178-
req, err = http.NewRequest("GET", "/v3/kafka/nocluster/consumer", nil)
178+
req, err = http.NewRequest("GET", "/v3/kafka/nocluster/consumer", http.NoBody)
179179
assert.NoError(t, err, "Expected request setup to return no error")
180180
rr = httptest.NewRecorder()
181181
coordinator.router.ServeHTTP(rr, req)
@@ -210,7 +210,7 @@ func TestHttpServer_handleTopicDetail(t *testing.T) {
210210
}()
211211

212212
// Set up a request
213-
req, err := http.NewRequest("GET", "/v3/kafka/testcluster/topic/testtopic", nil)
213+
req, err := http.NewRequest("GET", "/v3/kafka/testcluster/topic/testtopic", http.NoBody)
214214
assert.NoError(t, err, "Expected request setup to return no error")
215215

216216
// Call the handler via httprouter
@@ -228,14 +228,14 @@ func TestHttpServer_handleTopicDetail(t *testing.T) {
228228
assert.Equalf(t, []int64{345, 921}, resp.Offsets, "Expected Offsets list to contain [345, 921], not %v", resp.Offsets)
229229

230230
// Call again for a 404
231-
req, err = http.NewRequest("GET", "/v3/kafka/nocluster/topic/testtopic", nil)
231+
req, err = http.NewRequest("GET", "/v3/kafka/nocluster/topic/testtopic", http.NoBody)
232232
assert.NoError(t, err, "Expected request setup to return no error")
233233
rr = httptest.NewRecorder()
234234
coordinator.router.ServeHTTP(rr, req)
235235
assert.Equalf(t, http.StatusNotFound, rr.Code, "Expected response code to be 404, not %v", rr.Code)
236236

237237
// Call a third time for a 404
238-
req, err = http.NewRequest("GET", "/v3/kafka/testcluster/topic/notopic", nil)
238+
req, err = http.NewRequest("GET", "/v3/kafka/testcluster/topic/notopic", http.NoBody)
239239
assert.NoError(t, err, "Expected request setup to return no error")
240240
rr = httptest.NewRecorder()
241241
coordinator.router.ServeHTTP(rr, req)
@@ -282,7 +282,7 @@ func TestHttpServer_handleConsumerDetail(t *testing.T) {
282282
}()
283283

284284
// Set up a request
285-
req, err := http.NewRequest("GET", "/v3/kafka/testcluster/consumer/testgroup", nil)
285+
req, err := http.NewRequest("GET", "/v3/kafka/testcluster/consumer/testgroup", http.NoBody)
286286
assert.NoError(t, err, "Expected request setup to return no error")
287287

288288
// Call the handler via httprouter
@@ -309,14 +309,14 @@ func TestHttpServer_handleConsumerDetail(t *testing.T) {
309309
assert.Equalf(t, &protocol.Lag{Value: uint64(2355)}, topic[0].Offsets[0].Lag, "Expected Lag to be 2355, not %v", topic[0].Offsets[0].Lag)
310310

311311
// Call again for a 404
312-
req, err = http.NewRequest("GET", "/v3/kafka/nocluster/consumer/testgroup", nil)
312+
req, err = http.NewRequest("GET", "/v3/kafka/nocluster/consumer/testgroup", http.NoBody)
313313
assert.NoError(t, err, "Expected request setup to return no error")
314314
rr = httptest.NewRecorder()
315315
coordinator.router.ServeHTTP(rr, req)
316316
assert.Equalf(t, http.StatusNotFound, rr.Code, "Expected response code to be 404, not %v", rr.Code)
317317

318318
// Call a third time for a 404
319-
req, err = http.NewRequest("GET", "/v3/kafka/testcluster/consumer/nogroup", nil)
319+
req, err = http.NewRequest("GET", "/v3/kafka/testcluster/consumer/nogroup", http.NoBody)
320320
assert.NoError(t, err, "Expected request setup to return no error")
321321
rr = httptest.NewRecorder()
322322
coordinator.router.ServeHTTP(rr, req)
@@ -462,7 +462,7 @@ func TestHttpServer_handleConsumerStatus(t *testing.T) {
462462
}()
463463

464464
// Set up a request
465-
req, err := http.NewRequest("GET", "/v3/kafka/testcluster/consumer/testgroup/status", nil)
465+
req, err := http.NewRequest("GET", "/v3/kafka/testcluster/consumer/testgroup/status", http.NoBody)
466466
assert.NoError(t, err, "Expected request setup to return no error")
467467

468468
// Call the handler via httprouter
@@ -484,21 +484,21 @@ func TestHttpServer_handleConsumerStatus(t *testing.T) {
484484
assert.NotNil(t, resp.Status.Maxlag, "Expected Maxlag to not be nil")
485485

486486
// Call again for a 404
487-
req, err = http.NewRequest("GET", "/v3/kafka/nocluster/consumer/testgroup/status", nil)
487+
req, err = http.NewRequest("GET", "/v3/kafka/nocluster/consumer/testgroup/status", http.NoBody)
488488
assert.NoError(t, err, "Expected request setup to return no error")
489489
rr = httptest.NewRecorder()
490490
coordinator.router.ServeHTTP(rr, req)
491491
assert.Equalf(t, http.StatusNotFound, rr.Code, "Expected response code to be 404, not %v", rr.Code)
492492

493493
// Call a third time for a 404
494-
req, err = http.NewRequest("GET", "/v3/kafka/testcluster/consumer/nogroup/status", nil)
494+
req, err = http.NewRequest("GET", "/v3/kafka/testcluster/consumer/nogroup/status", http.NoBody)
495495
assert.NoError(t, err, "Expected request setup to return no error")
496496
rr = httptest.NewRecorder()
497497
coordinator.router.ServeHTTP(rr, req)
498498
assert.Equalf(t, http.StatusNotFound, rr.Code, "Expected response code to be 404, not %v", rr.Code)
499499

500500
// Call for complete status (/lag endpoint)
501-
req, err = http.NewRequest("GET", "/v3/kafka/testcluster/consumer/testgroup/lag", nil)
501+
req, err = http.NewRequest("GET", "/v3/kafka/testcluster/consumer/testgroup/lag", http.NoBody)
502502
assert.NoError(t, err, "Expected request setup to return no error")
503503
rr = httptest.NewRecorder()
504504
coordinator.router.ServeHTTP(rr, req)
@@ -516,14 +516,14 @@ func TestHttpServer_handleConsumerStatus(t *testing.T) {
516516
assert.NotNil(t, resp.Status.Maxlag, "Expected Maxlag to not be nil")
517517

518518
// Call again for a 404
519-
req, err = http.NewRequest("GET", "/v3/kafka/nocluster/consumer/testgroup/lag", nil)
519+
req, err = http.NewRequest("GET", "/v3/kafka/nocluster/consumer/testgroup/lag", http.NoBody)
520520
assert.NoError(t, err, "Expected request setup to return no error")
521521
rr = httptest.NewRecorder()
522522
coordinator.router.ServeHTTP(rr, req)
523523
assert.Equalf(t, http.StatusNotFound, rr.Code, "Expected response code to be 404, not %v", rr.Code)
524524

525525
// Call a sixth time for a 404
526-
req, err = http.NewRequest("GET", "/v3/kafka/testcluster/consumer/nogroup/lag", nil)
526+
req, err = http.NewRequest("GET", "/v3/kafka/testcluster/consumer/nogroup/lag", http.NoBody)
527527
assert.NoError(t, err, "Expected request setup to return no error")
528528
rr = httptest.NewRecorder()
529529
coordinator.router.ServeHTTP(rr, req)
@@ -543,7 +543,7 @@ func TestHttpServer_handleConsumerDelete(t *testing.T) {
543543
}()
544544

545545
// Set up a request
546-
req, err := http.NewRequest("DELETE", "/v3/kafka/testcluster/consumer/testgroup", nil)
546+
req, err := http.NewRequest("DELETE", "/v3/kafka/testcluster/consumer/testgroup", http.NoBody)
547547
assert.NoError(t, err, "Expected request setup to return no error")
548548

549549
// Call the handler via httprouter

0 commit comments

Comments
 (0)