|
@@ -17,12 +17,19 @@ package endpoints
|
|
|
import (
|
|
import (
|
|
|
"encoding/json"
|
|
"encoding/json"
|
|
|
"fmt"
|
|
"fmt"
|
|
|
|
|
+ "github.com/aliyun/alibaba-cloud-sdk-go/sdk/utils"
|
|
|
"github.com/aliyun/alibaba-cloud-sdk-go/sdk/errors"
|
|
"github.com/aliyun/alibaba-cloud-sdk-go/sdk/errors"
|
|
|
"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
|
|
"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
|
|
|
"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
|
|
"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
|
|
|
"sync"
|
|
"sync"
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
|
|
+var debug utils.Debug
|
|
|
|
|
+
|
|
|
|
|
+func init() {
|
|
|
|
|
+ debug = utils.Init("sdk")
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
const (
|
|
const (
|
|
|
ResolveEndpointUserGuideLink = ""
|
|
ResolveEndpointUserGuideLink = ""
|
|
|
)
|
|
)
|
|
@@ -32,6 +39,7 @@ var resolvers []Resolver
|
|
|
|
|
|
|
|
type Resolver interface {
|
|
type Resolver interface {
|
|
|
TryResolve(param *ResolveParam) (endpoint string, support bool, err error)
|
|
TryResolve(param *ResolveParam) (endpoint string, support bool, err error)
|
|
|
|
|
+ GetName() (name string)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func Resolve(param *ResolveParam) (endpoint string, err error) {
|
|
func Resolve(param *ResolveParam) (endpoint string, err error) {
|
|
@@ -39,6 +47,8 @@ func Resolve(param *ResolveParam) (endpoint string, err error) {
|
|
|
for _, resolver := range supportedResolvers {
|
|
for _, resolver := range supportedResolvers {
|
|
|
endpoint, supported, err := resolver.TryResolve(param)
|
|
endpoint, supported, err := resolver.TryResolve(param)
|
|
|
if supported {
|
|
if supported {
|
|
|
|
|
+ debug("resolve endpoint with %s\n", param)
|
|
|
|
|
+ debug("\t%s by resolver(%s)\n", endpoint, resolver.GetName())
|
|
|
return endpoint, err
|
|
return endpoint, err
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|