Browse Source

rm simplegpst and add client domain

wenzuochao 6 years ago
parent
commit
e425ce6dac

+ 6 - 0
sdk/client.go

@@ -73,6 +73,7 @@ type Client struct {
 	EndpointMap    map[string]string
 	EndpointType   string
 	Network        string
+	Domain         string
 
 	debug     bool
 	isRunning bool
@@ -337,6 +338,11 @@ func (client *Client) buildRequestWithSigner(request requests.AcsRequest, signer
 
 	// resolve endpoint
 	endpoint := request.GetDomain()
+
+	if endpoint == "" && client.Domain != "" {
+		endpoint = client.Domain
+	}
+
 	if endpoint == "" {
 		endpoint = endpoints.GetEndpointFromMap(regionId, request.GetProduct())
 	}

+ 11 - 0
sdk/client_test.go

@@ -599,6 +599,17 @@ func TestClient_BuildRequestWithSigner2(t *testing.T) {
 	assert.Equal(t, "regional", client.EndpointType)
 	assert.Equal(t, "vpc", client.Network)
 	assert.Equal(t, map[string]string{"regiontest": "ecs.test.com"}, client.EndpointMap)
+
+	client.Domain = "ecs-client.aliyuncs.com"
+	request.Domain = ""
+	httprequest, err = client.buildRequestWithSigner(request, signer)
+	assert.Nil(t, err)
+	assert.Equal(t, "ecs-client.aliyuncs.com", httprequest.URL.Host)
+
+	request.Domain = "ecs-request.aliyuncs.com"
+	httprequest, err = client.buildRequestWithSigner(request, signer)
+	assert.Nil(t, err)
+	assert.Equal(t, "ecs-request.aliyuncs.com", httprequest.URL.Host)
 }
 
 func TestClient_ProcessCommonRequestWithSigner(t *testing.T) {

+ 0 - 1
sdk/endpoints/resolver.go

@@ -70,7 +70,6 @@ func Resolve(param *ResolveParam) (endpoint string, err error) {
 func getAllResolvers() []Resolver {
 	once.Do(func() {
 		resolvers = []Resolver{
-			&SimpleHostResolver{},
 			&LocationResolver{},
 			&LocalRegionalResolver{},
 			&LocalGlobalResolver{},

+ 0 - 33
sdk/endpoints/simple_host_resolver.go

@@ -1,33 +0,0 @@
-/*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package endpoints
-
-// SimpleHostResolver the simple host resolver type
-type SimpleHostResolver struct {
-}
-
-// GetName get the resolver name: "simple host resolver"
-func (resolver *SimpleHostResolver) GetName() (name string) {
-	name = "simple host resolver"
-	return
-}
-
-// TryResolve if the Domain exist in param, use it as endpoint
-func (resolver *SimpleHostResolver) TryResolve(param *ResolveParam) (endpoint string, support bool, err error) {
-	if support = len(param.Domain) > 0; support {
-		endpoint = param.Domain
-	}
-	return
-}

+ 0 - 32
sdk/endpoints/simple_host_resolver_test.go

@@ -1,32 +0,0 @@
-package endpoints
-
-import (
-	"fmt"
-	"testing"
-
-	"github.com/stretchr/testify/assert"
-)
-
-func TestSimpleHostResolver_GetName(t *testing.T) {
-	resolver := &SimpleHostResolver{}
-	assert.Equal(t, "simple host resolver", resolver.GetName())
-}
-
-func TestSimpleHostResolver_TryResolve(t *testing.T) {
-	resolver := &SimpleHostResolver{}
-	resolveParam := &ResolveParam{}
-	endpoint, support, err := resolver.TryResolve(resolveParam)
-	assert.Nil(t, err)
-	assert.Equal(t, "", endpoint)
-	assert.Equal(t, false, support)
-
-	resolveParam = &ResolveParam{
-		Domain: "unreachable.aliyuncs.com",
-	}
-	endpoint, support, err = resolver.TryResolve(resolveParam)
-	assert.Nil(t, err)
-	assert.Equal(t, "unreachable.aliyuncs.com", endpoint)
-	assert.Equal(t, true, support)
-
-	fmt.Println("finished")
-}