From 6b9920402b2f4664a4e7a8675fa0eb194f533873 Mon Sep 17 00:00:00 2001 From: cygnushan Date: Tue, 6 Aug 2019 14:59:15 +0800 Subject: [PATCH] the zone priority in params is higher than zone in config --- request/builder.go | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/request/builder.go b/request/builder.go index b655afc..c14483b 100644 --- a/request/builder.go +++ b/request/builder.go @@ -239,9 +239,11 @@ func (b *Builder) parseRequestURL() error { b.parsedURL = endpoint + requestURI if b.parsedParams != nil && b.operation.RequestMethod == "GET" { - zone := (*b.parsedProperties)["zone"] - if zone != "" { - (*b.parsedParams)["zone"] = zone + if _, ok := (*b.parsedParams)["zone"]; !ok { + zone := (*b.parsedProperties)["zone"] + if zone != "" { + (*b.parsedParams)["zone"] = zone + } } paramsParts := []string{} for key, value := range *b.parsedParams { @@ -260,9 +262,11 @@ func (b *Builder) parseRequestURL() error { func (b *Builder) parseRequestForm() error { if b.parsedParams != nil && b.operation.RequestMethod == "POST" { var values = make(url.Values) - zone := (*b.parsedProperties)["zone"] - if zone != "" { - (*b.parsedParams)["zone"] = zone + if _, ok := (*b.parsedParams)["zone"]; !ok { + zone := (*b.parsedProperties)["zone"] + if zone != "" { + (*b.parsedParams)["zone"] = zone + } } for key, value := range *b.parsedParams { values.Set(key, value)