You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by zi...@apache.org on 2023/02/07 02:52:42 UTC
[pulsar-client-go] branch master updated: Migrate from the deprecated io/ioutil package (#942)
This is an automated email from the ASF dual-hosted git repository.
zixuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar-client-go.git
The following commit(s) were added to refs/heads/master by this push:
new fa4662c Migrate from the deprecated io/ioutil package (#942)
fa4662c is described below
commit fa4662c2c7a9cb3d8738c9ea616a799d2330ffd0
Author: Eugene R <re...@gmail.com>
AuthorDate: Tue Feb 7 04:52:37 2023 +0200
Migrate from the deprecated io/ioutil package (#942)
---
.github/workflows/project.yml | 2 +-
README.md | 2 +-
integration-tests/license_test.go | 5 ++---
oauth2/authorization_tokenretriever_test.go | 4 ++--
oauth2/client_credentials_provider.go | 6 +++---
oauth2/client_credentials_provider_test.go | 3 +--
perf/pulsar-perf-go.go | 3 +--
pulsar/auth/athenz.go | 4 ++--
pulsar/auth/athenz_test.go | 4 ++--
pulsar/auth/basic_test.go | 4 ++--
pulsar/auth/oauth2_test.go | 3 +--
pulsar/auth/token.go | 4 ++--
pulsar/client_impl_test.go | 11 +++++------
pulsar/consumer_test.go | 4 ++--
pulsar/crypto/default_crypto_Key_reader.go | 4 ++--
pulsar/helper_for_test.go | 3 +--
pulsar/internal/compression/compression_bench_test.go | 8 ++++----
pulsar/internal/connection.go | 4 ++--
pulsar/internal/http_client.go | 8 ++++----
pulsar/internal/lookup_service_test.go | 6 +++---
20 files changed, 43 insertions(+), 49 deletions(-)
diff --git a/.github/workflows/project.yml b/.github/workflows/project.yml
index dc5a755..29e94d0 100644
--- a/.github/workflows/project.yml
+++ b/.github/workflows/project.yml
@@ -19,7 +19,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- go-version: [1.15, 1.16, 1.17, 1.18, 1.19]
+ go-version: [1.16, 1.17, 1.18, 1.19]
steps:
- name: clean docker cache
run: |
diff --git a/README.md b/README.md
index 89e9051..64700f8 100644
--- a/README.md
+++ b/README.md
@@ -40,7 +40,7 @@ CGo based library.
> **Note**:
>
-> While this library should work with Golang versions as early as 1.15, any bugs specific to versions earlier than 1.18 may not be fixed.
+> While this library should work with Golang versions as early as 1.16, any bugs specific to versions earlier than 1.18 may not be fixed.
## Status
diff --git a/integration-tests/license_test.go b/integration-tests/license_test.go
index cd6d9d5..ac89eb4 100644
--- a/integration-tests/license_test.go
+++ b/integration-tests/license_test.go
@@ -18,7 +18,6 @@
package license_test
import (
- "io/ioutil"
"os"
"path/filepath"
"regexp"
@@ -83,7 +82,7 @@ func TestLicense(t *testing.T) {
switch filepath.Ext(path) {
case ".go":
- src, err := ioutil.ReadFile(path)
+ src, err := os.ReadFile(path)
if err != nil {
return nil
}
@@ -96,7 +95,7 @@ func TestLicense(t *testing.T) {
case ".yaml":
fallthrough
case ".conf":
- src, err := ioutil.ReadFile(path)
+ src, err := os.ReadFile(path)
if err != nil {
return nil
}
diff --git a/oauth2/authorization_tokenretriever_test.go b/oauth2/authorization_tokenretriever_test.go
index fee573e..6ae55d8 100644
--- a/oauth2/authorization_tokenretriever_test.go
+++ b/oauth2/authorization_tokenretriever_test.go
@@ -21,7 +21,7 @@ import (
"bytes"
"context"
"encoding/json"
- "io/ioutil"
+ "io"
"net/http"
"strings"
"time"
@@ -328,7 +328,7 @@ func buildResponse(statusCode int, body interface{}) *http.Response {
resp := &http.Response{
StatusCode: statusCode,
Header: map[string][]string{},
- Body: ioutil.NopCloser(bytes.NewReader(b)),
+ Body: io.NopCloser(bytes.NewReader(b)),
}
if strings.HasPrefix(string(b), "{") {
resp.Header.Add("Content-Type", "application/json")
diff --git a/oauth2/client_credentials_provider.go b/oauth2/client_credentials_provider.go
index 5230ca3..3eb8ba4 100644
--- a/oauth2/client_credentials_provider.go
+++ b/oauth2/client_credentials_provider.go
@@ -19,7 +19,7 @@ package oauth2
import (
"encoding/json"
- "io/ioutil"
+ "os"
"strings"
)
@@ -54,7 +54,7 @@ func (k *KeyFileProvider) GetClientCredentials() (*KeyFile, error) {
switch {
case strings.HasPrefix(k.KeyFile, FILE):
filename := strings.TrimPrefix(k.KeyFile, FILE)
- keyFile, err = ioutil.ReadFile(filename)
+ keyFile, err = os.ReadFile(filename)
case strings.HasPrefix(k.KeyFile, DATA):
keyFile = []byte(strings.TrimPrefix(k.KeyFile, DATA))
case strings.HasPrefix(k.KeyFile, "data:"):
@@ -64,7 +64,7 @@ func (k *KeyFileProvider) GetClientCredentials() (*KeyFile, error) {
}
keyFile = url.Data
default:
- keyFile, err = ioutil.ReadFile(k.KeyFile)
+ keyFile, err = os.ReadFile(k.KeyFile)
}
if err != nil {
return nil, err
diff --git a/oauth2/client_credentials_provider_test.go b/oauth2/client_credentials_provider_test.go
index f47967b..869616d 100644
--- a/oauth2/client_credentials_provider_test.go
+++ b/oauth2/client_credentials_provider_test.go
@@ -21,7 +21,6 @@ import (
"encoding/base64"
"encoding/json"
"fmt"
- "io/ioutil"
"os"
"testing"
@@ -45,7 +44,7 @@ func TestNewClientCredentialsProviderFromKeyFile(t *testing.T) {
b, err := json.Marshal(keyFile)
require.NoError(t, err)
- tmpFile, err := ioutil.TempFile("", "key-file")
+ tmpFile, err := os.CreateTemp("", "key-file")
require.NoError(t, err)
defer func(name string) {
_ = os.Remove(name)
diff --git a/perf/pulsar-perf-go.go b/perf/pulsar-perf-go.go
index aff0b73..a672a30 100644
--- a/perf/pulsar-perf-go.go
+++ b/perf/pulsar-perf-go.go
@@ -20,7 +20,6 @@ package main
import (
"context"
"fmt"
- "io/ioutil"
"net/http"
_ "net/http/pprof"
"os"
@@ -57,7 +56,7 @@ func NewClient() (pulsar.Client, error) {
if clientArgs.TokenFile != "" {
// read JWT from the file
- tokenBytes, err := ioutil.ReadFile(clientArgs.TokenFile)
+ tokenBytes, err := os.ReadFile(clientArgs.TokenFile)
if err != nil {
log.WithError(err).Errorf("failed to read Pulsar JWT from a file %s", clientArgs.TokenFile)
os.Exit(1)
diff --git a/pulsar/auth/athenz.go b/pulsar/auth/athenz.go
index 9d17ac0..f490be9 100644
--- a/pulsar/auth/athenz.go
+++ b/pulsar/auth/athenz.go
@@ -21,8 +21,8 @@ import (
"crypto/tls"
"encoding/base64"
"errors"
- "io/ioutil"
"net/http"
+ "os"
"regexp"
"strings"
"time"
@@ -117,7 +117,7 @@ func (p *athenzAuthProvider) Init() error {
}
keyData = key
} else if uriSt.Scheme == "file" {
- key, err := ioutil.ReadFile(uriSt.Path)
+ key, err := os.ReadFile(uriSt.Path)
if err != nil {
return err
}
diff --git a/pulsar/auth/athenz_test.go b/pulsar/auth/athenz_test.go
index 97cc0ae..8541ca9 100644
--- a/pulsar/auth/athenz_test.go
+++ b/pulsar/auth/athenz_test.go
@@ -20,7 +20,7 @@ package auth
import (
"bytes"
"errors"
- "io/ioutil"
+ "os"
"testing"
"time"
@@ -69,7 +69,7 @@ func (m *MockRoleToken) RoleTokenValue() (string, error) {
func MockZmsNewTokenBuilder(domain, name string, privateKeyPEM []byte, keyVersion string) (zms.TokenBuilder, error) {
// assertion
- key, err := ioutil.ReadFile(tlsClientKeyPath)
+ key, err := os.ReadFile(tlsClientKeyPath)
if err != nil {
return nil, err
}
diff --git a/pulsar/auth/basic_test.go b/pulsar/auth/basic_test.go
index b212d0b..ead7f3d 100644
--- a/pulsar/auth/basic_test.go
+++ b/pulsar/auth/basic_test.go
@@ -19,7 +19,7 @@ package auth
import (
"errors"
- "io/ioutil"
+ "io"
"net/http"
"net/http/httptest"
"testing"
@@ -51,7 +51,7 @@ func TestNewAuthenticationBasicWithParams(t *testing.T) {
resp, err := client.Get(s.URL)
require.NoError(t, err)
- body, err := ioutil.ReadAll(resp.Body)
+ body, err := io.ReadAll(resp.Body)
_ = resp.Body.Close()
require.NoError(t, err)
require.Equal(t, []byte("Basic YWRtaW46MTIzNDU2"), body)
diff --git a/pulsar/auth/oauth2_test.go b/pulsar/auth/oauth2_test.go
index 536c0dd..86d3640 100644
--- a/pulsar/auth/oauth2_test.go
+++ b/pulsar/auth/oauth2_test.go
@@ -19,7 +19,6 @@ package auth
import (
"fmt"
- "io/ioutil"
"net/http"
"net/http/httptest"
"os"
@@ -64,7 +63,7 @@ func mockKeyFile(server string) (string, error) {
if err != nil {
return "", err
}
- kf, err := ioutil.TempFile(pwd, "test_oauth2")
+ kf, err := os.CreateTemp(pwd, "test_oauth2")
if err != nil {
return "", err
}
diff --git a/pulsar/auth/token.go b/pulsar/auth/token.go
index b5af86b..898b653 100644
--- a/pulsar/auth/token.go
+++ b/pulsar/auth/token.go
@@ -20,8 +20,8 @@ package auth
import (
"crypto/tls"
"fmt"
- "io/ioutil"
"net/http"
+ "os"
"strings"
"github.com/pkg/errors"
@@ -69,7 +69,7 @@ func NewAuthenticationTokenFromSupplier(tokenSupplier func() (string, error)) Pr
func NewAuthenticationTokenFromFile(tokenFilePath string) Provider {
return &tokenAuthProvider{
tokenSupplier: func() (string, error) {
- data, err := ioutil.ReadFile(tokenFilePath)
+ data, err := os.ReadFile(tokenFilePath)
if err != nil {
return "", err
}
diff --git a/pulsar/client_impl_test.go b/pulsar/client_impl_test.go
index 6ead057..299203f 100644
--- a/pulsar/client_impl_test.go
+++ b/pulsar/client_impl_test.go
@@ -21,7 +21,6 @@ import (
"context"
"crypto/tls"
"fmt"
- "io/ioutil"
"net/http"
"net/http/httptest"
"os"
@@ -189,7 +188,7 @@ func TestTLSAuthWithCertSupplier(t *testing.T) {
}
func TestTokenAuth(t *testing.T) {
- token, err := ioutil.ReadFile(tokenFilePath)
+ token, err := os.ReadFile(tokenFilePath)
assert.NoError(t, err)
client, err := NewClient(ClientOptions{
@@ -212,7 +211,7 @@ func TestTokenAuthWithSupplier(t *testing.T) {
client, err := NewClient(ClientOptions{
URL: serviceURL,
Authentication: NewAuthenticationTokenFromSupplier(func() (s string, err error) {
- token, err := ioutil.ReadFile(tokenFilePath)
+ token, err := os.ReadFile(tokenFilePath)
if err != nil {
return "", err
}
@@ -287,7 +286,7 @@ func mockKeyFile(server string) (string, error) {
if err != nil {
return "", err
}
- kf, err := ioutil.TempFile(pwd, "test_oauth2")
+ kf, err := os.CreateTemp(pwd, "test_oauth2")
if err != nil {
return "", err
}
@@ -838,7 +837,7 @@ func TestHTTPSAuthWithCertSupplier(t *testing.T) {
}
func TestHTTPTokenAuth(t *testing.T) {
- token, err := ioutil.ReadFile(tokenFilePath)
+ token, err := os.ReadFile(tokenFilePath)
assert.NoError(t, err)
client, err := NewClient(ClientOptions{
@@ -861,7 +860,7 @@ func TestHTTPTokenAuthWithSupplier(t *testing.T) {
client, err := NewClient(ClientOptions{
URL: webServiceURL,
Authentication: NewAuthenticationTokenFromSupplier(func() (s string, err error) {
- token, err := ioutil.ReadFile(tokenFilePath)
+ token, err := os.ReadFile(tokenFilePath)
if err != nil {
return "", err
}
diff --git a/pulsar/consumer_test.go b/pulsar/consumer_test.go
index 366be5d..0eb7aae 100644
--- a/pulsar/consumer_test.go
+++ b/pulsar/consumer_test.go
@@ -21,9 +21,9 @@ import (
"context"
"errors"
"fmt"
- "io/ioutil"
"log"
"net/http"
+ "os"
"strconv"
"sync"
"sync/atomic"
@@ -3422,7 +3422,7 @@ func (d *EncKeyReader) PrivateKey(keyName string, keyMeta map[string]string) (*c
}
func readKey(keyName, path string, keyMeta map[string]string) (*crypto.EncryptionKeyInfo, error) {
- key, err := ioutil.ReadFile(path)
+ key, err := os.ReadFile(path)
if err != nil {
return nil, err
}
diff --git a/pulsar/crypto/default_crypto_Key_reader.go b/pulsar/crypto/default_crypto_Key_reader.go
index 6378d4e..8dfb2bc 100644
--- a/pulsar/crypto/default_crypto_Key_reader.go
+++ b/pulsar/crypto/default_crypto_Key_reader.go
@@ -17,7 +17,7 @@
package crypto
-import "io/ioutil"
+import "os"
// FileKeyReader default implementation of KeyReader
type FileKeyReader struct {
@@ -43,7 +43,7 @@ func (d *FileKeyReader) PrivateKey(keyName string, keyMeta map[string]string) (*
}
func readKey(keyName, path string, keyMeta map[string]string) (*EncryptionKeyInfo, error) {
- key, err := ioutil.ReadFile(path)
+ key, err := os.ReadFile(path)
if err != nil {
return nil, err
}
diff --git a/pulsar/helper_for_test.go b/pulsar/helper_for_test.go
index d6a4f00..a2888d0 100644
--- a/pulsar/helper_for_test.go
+++ b/pulsar/helper_for_test.go
@@ -22,7 +22,6 @@ import (
"encoding/json"
"fmt"
"io"
- "io/ioutil"
"net/http"
"path"
"strings"
@@ -110,7 +109,7 @@ func httpDo(method string, requestPath string, in interface{}, out interface{})
}
if out != nil {
- outBytes, err := ioutil.ReadAll(resp.Body)
+ outBytes, err := io.ReadAll(resp.Body)
if err != nil {
return err
}
diff --git a/pulsar/internal/compression/compression_bench_test.go b/pulsar/internal/compression/compression_bench_test.go
index de0ca48..f615ff0 100644
--- a/pulsar/internal/compression/compression_bench_test.go
+++ b/pulsar/internal/compression/compression_bench_test.go
@@ -18,7 +18,7 @@
package compression
import (
- "io/ioutil"
+ "os"
"testing"
)
@@ -27,7 +27,7 @@ const (
)
func testCompression(b *testing.B, provider Provider) {
- data, err := ioutil.ReadFile(dataSampleFile)
+ data, err := os.ReadFile(dataSampleFile)
if err != nil {
b.Error(err)
}
@@ -45,7 +45,7 @@ func testCompression(b *testing.B, provider Provider) {
func testDecompression(b *testing.B, provider Provider) {
// Read data sample file
- data, err := ioutil.ReadFile(dataSampleFile)
+ data, err := os.ReadFile(dataSampleFile)
if err != nil {
b.Error(err)
}
@@ -97,7 +97,7 @@ func BenchmarkDecompression(b *testing.B) {
func BenchmarkCompressionParallel(b *testing.B) {
b.ReportAllocs()
- data, err := ioutil.ReadFile(dataSampleFile)
+ data, err := os.ReadFile(dataSampleFile)
if err != nil {
b.Error(err)
}
diff --git a/pulsar/internal/connection.go b/pulsar/internal/connection.go
index be95240..cb4af33 100644
--- a/pulsar/internal/connection.go
+++ b/pulsar/internal/connection.go
@@ -22,9 +22,9 @@ import (
"crypto/x509"
"errors"
"fmt"
- "io/ioutil"
"net"
"net/url"
+ "os"
"sync"
"sync/atomic"
"time"
@@ -979,7 +979,7 @@ func (c *connection) getTLSConfig() (*tls.Config, error) {
}
if c.tlsOptions.TrustCertsFilePath != "" {
- caCerts, err := ioutil.ReadFile(c.tlsOptions.TrustCertsFilePath)
+ caCerts, err := os.ReadFile(c.tlsOptions.TrustCertsFilePath)
if err != nil {
return nil, err
}
diff --git a/pulsar/internal/http_client.go b/pulsar/internal/http_client.go
index a7308cb..dccc143 100644
--- a/pulsar/internal/http_client.go
+++ b/pulsar/internal/http_client.go
@@ -23,9 +23,9 @@ import (
"crypto/x509"
"encoding/json"
"io"
- "io/ioutil"
"net/http"
"net/url"
+ "os"
"path"
"time"
@@ -209,7 +209,7 @@ func (c *httpClient) GetWithOptions(endpoint string, obj interface{}, params map
return nil, err
}
} else {
- body, err := ioutil.ReadAll(resp.Body)
+ body, err := io.ReadAll(resp.Body)
if err != nil {
return nil, err
}
@@ -311,7 +311,7 @@ func safeRespClose(resp *http.Response) {
// responseError is used to parse a response into a client error
func responseError(resp *http.Response) error {
var e error
- body, err := ioutil.ReadAll(resp.Body)
+ body, err := io.ReadAll(resp.Body)
reason := ""
code := resp.StatusCode
if err != nil {
@@ -338,7 +338,7 @@ func getDefaultTransport(tlsConfig *TLSOptions) (http.RoundTripper, error) {
InsecureSkipVerify: tlsConfig.AllowInsecureConnection,
}
if len(tlsConfig.TrustCertsFilePath) > 0 {
- rootCA, err := ioutil.ReadFile(tlsConfig.TrustCertsFilePath)
+ rootCA, err := os.ReadFile(tlsConfig.TrustCertsFilePath)
if err != nil {
return nil, err
}
diff --git a/pulsar/internal/lookup_service_test.go b/pulsar/internal/lookup_service_test.go
index 9c55e9f..1504f3f 100644
--- a/pulsar/internal/lookup_service_test.go
+++ b/pulsar/internal/lookup_service_test.go
@@ -20,7 +20,7 @@ package internal
import (
"bytes"
"encoding/json"
- "io/ioutil"
+ "io"
"net/url"
"strings"
"testing"
@@ -574,7 +574,7 @@ func mockHTTPGetLookupResult(obj interface{}) error {
"httpUrl": "http://broker-1:8080",
"httpUrlTls": ""
}`
- r := ioutil.NopCloser(bytes.NewReader([]byte(jsonResponse)))
+ r := io.NopCloser(bytes.NewReader([]byte(jsonResponse)))
dec := json.NewDecoder(r)
err := dec.Decode(obj)
return err
@@ -584,7 +584,7 @@ func mockHTTPGetPartitionedTopicMetadataResult(obj interface{}) error {
jsonResponse := `{
"partitions": 1
}`
- r := ioutil.NopCloser(bytes.NewReader([]byte(jsonResponse)))
+ r := io.NopCloser(bytes.NewReader([]byte(jsonResponse)))
dec := json.NewDecoder(r)
err := dec.Decode(obj)
return err