@@ -22,8 +22,6 @@ import (
22
22
"net/http"
23
23
"strings"
24
24
25
- v1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
26
-
27
25
xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1"
28
26
"github.com/crossplane/crossplane-runtime/pkg/connection"
29
27
"github.com/crossplane/crossplane-runtime/pkg/controller"
@@ -33,6 +31,7 @@ import (
33
31
"github.com/crossplane/crossplane-runtime/pkg/resource"
34
32
"github.com/pkg/errors"
35
33
magento "github.com/web-seven/provider-magento/internal/client"
34
+ v1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
36
35
"k8s.io/apimachinery/pkg/runtime"
37
36
"k8s.io/apimachinery/pkg/runtime/schema"
38
37
"k8s.io/apimachinery/pkg/types"
@@ -75,15 +74,20 @@ type external struct {
75
74
service * MagentoService
76
75
}
77
76
77
+ var cachedMagento * MagentoService
78
+
78
79
// newMagentoService creates a new MagentoService.
79
80
var (
80
81
newMagentoService = func (creds []byte , baseURL string ) (* MagentoService , error ) {
81
-
82
+ if cachedMagento != nil {
83
+ return cachedMagento , nil
84
+ }
82
85
// Create a new Magento API client
83
86
c := magento .NewClient (baseURL , string (creds ))
84
- return & MagentoService {
87
+ cachedMagento = & MagentoService {
85
88
client : c ,
86
- }, nil
89
+ }
90
+ return cachedMagento , nil
87
91
}
88
92
)
89
93
0 commit comments