utilize native merging for map and struct without json
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
		
							
								
								
									
										2
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
									
									
									
									
								
							| @@ -3,7 +3,7 @@ module github.com/unistack-org/micro-server-http/v3 | ||||
| go 1.13 | ||||
|  | ||||
| require ( | ||||
| 	github.com/unistack-org/micro/v3 v3.2.7 | ||||
| 	github.com/unistack-org/micro/v3 v3.2.8 | ||||
| 	golang.org/x/net v0.0.0-20201224014010-6772e930b67b | ||||
| ) | ||||
|  | ||||
|   | ||||
							
								
								
									
										4
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								go.sum
									
									
									
									
									
								
							| @@ -57,8 +57,8 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ | ||||
| github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= | ||||
| github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= | ||||
| github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= | ||||
| github.com/unistack-org/micro/v3 v3.2.7 h1:+vLVmoQeE0z0cmIAKXSQXbxC4pxXpmkzckh9B9shogo= | ||||
| github.com/unistack-org/micro/v3 v3.2.7/go.mod h1:J8XxJj4Pqa3Ee0a4biRRtut7UwTlfBq8QRe+s4PKGS0= | ||||
| github.com/unistack-org/micro/v3 v3.2.8 h1:M1qgOz+qgSf/coFeIqDKa7Xc+b3s7du1Yin+i10o3aw= | ||||
| github.com/unistack-org/micro/v3 v3.2.8/go.mod h1:J8XxJj4Pqa3Ee0a4biRRtut7UwTlfBq8QRe+s4PKGS0= | ||||
| golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= | ||||
| golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | ||||
| golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= | ||||
|   | ||||
| @@ -12,7 +12,6 @@ import ( | ||||
| 	"github.com/unistack-org/micro/v3/metadata" | ||||
| 	"github.com/unistack-org/micro/v3/register" | ||||
| 	"github.com/unistack-org/micro/v3/server" | ||||
| 	"github.com/unistack-org/micro/v3/util/qson" | ||||
| 	rflutil "github.com/unistack-org/micro/v3/util/reflect" | ||||
| 	rutil "github.com/unistack-org/micro/v3/util/router" | ||||
| ) | ||||
| @@ -126,8 +125,7 @@ func (h *httpHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { | ||||
|  | ||||
| 	// get fields from url values | ||||
| 	if len(r.URL.RawQuery) > 0 { | ||||
| 		umd := make(map[string]interface{}) | ||||
| 		err = qson.Unmarshal(&umd, r.URL.RawQuery) | ||||
| 		umd, err := rflutil.URLMap(r.URL.RawQuery) | ||||
| 		if err != nil { | ||||
| 			h.errorHandler(ctx, h, w, r, err, http.StatusBadRequest) | ||||
| 		} | ||||
| @@ -158,6 +156,7 @@ func (h *httpHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { | ||||
| 	//function := hldr.rcvr | ||||
| 	var returnValues []reflect.Value | ||||
|  | ||||
| 	matches = rflutil.FlattenMap(matches) | ||||
| 	if err = rflutil.MergeMap(argv.Interface(), matches); err != nil { | ||||
| 		h.errorHandler(ctx, h, w, r, err, http.StatusBadRequest) | ||||
| 		return | ||||
|   | ||||
		Reference in New Issue
	
	Block a user