mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-10-30 21:30:16 +00:00 
			
		
		
		
	update aws-sdk to support new region
This commit is contained in:
		
							
								
								
									
										8
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/BUILD
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/BUILD
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,12 +4,18 @@ go_library( | ||||
|     name = "go_default_library", | ||||
|     srcs = [ | ||||
|         "idempotency.go", | ||||
|         "jsonvalue.go", | ||||
|         "payload.go", | ||||
|         "unmarshal.go", | ||||
|     ], | ||||
|     importmap = "k8s.io/kubernetes/vendor/github.com/aws/aws-sdk-go/private/protocol", | ||||
|     importpath = "github.com/aws/aws-sdk-go/private/protocol", | ||||
|     visibility = ["//visibility:public"], | ||||
|     deps = ["//vendor/github.com/aws/aws-sdk-go/aws/request:go_default_library"], | ||||
|     deps = [ | ||||
|         "//vendor/github.com/aws/aws-sdk-go/aws:go_default_library", | ||||
|         "//vendor/github.com/aws/aws-sdk-go/aws/client/metadata:go_default_library", | ||||
|         "//vendor/github.com/aws/aws-sdk-go/aws/request:go_default_library", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
| filegroup( | ||||
|   | ||||
							
								
								
									
										2
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/build.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/ec2query/build.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -24,7 +24,7 @@ func Build(r *request.Request) { | ||||
| 		r.Error = awserr.New("SerializationError", "failed encoding EC2 Query request", err) | ||||
| 	} | ||||
|  | ||||
| 	if r.ExpireTime == 0 { | ||||
| 	if !r.IsPresigned() { | ||||
| 		r.HTTPRequest.Method = "POST" | ||||
| 		r.HTTPRequest.Header.Set("Content-Type", "application/x-www-form-urlencoded; charset=utf-8") | ||||
| 		r.SetBufferBody([]byte(body.Encode())) | ||||
|   | ||||
							
								
								
									
										5
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/BUILD
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/BUILD
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -9,7 +9,10 @@ go_library( | ||||
|     importmap = "k8s.io/kubernetes/vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil", | ||||
|     importpath = "github.com/aws/aws-sdk-go/private/protocol/json/jsonutil", | ||||
|     visibility = ["//visibility:public"], | ||||
|     deps = ["//vendor/github.com/aws/aws-sdk-go/private/protocol:go_default_library"], | ||||
|     deps = [ | ||||
|         "//vendor/github.com/aws/aws-sdk-go/aws:go_default_library", | ||||
|         "//vendor/github.com/aws/aws-sdk-go/private/protocol:go_default_library", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
| filegroup( | ||||
|   | ||||
							
								
								
									
										21
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/build.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										21
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/build.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -12,6 +12,7 @@ import ( | ||||
| 	"strconv" | ||||
| 	"time" | ||||
|  | ||||
| 	"github.com/aws/aws-sdk-go/aws" | ||||
| 	"github.com/aws/aws-sdk-go/private/protocol" | ||||
| ) | ||||
|  | ||||
| @@ -49,7 +50,10 @@ func buildAny(value reflect.Value, buf *bytes.Buffer, tag reflect.StructTag) err | ||||
| 				t = "list" | ||||
| 			} | ||||
| 		case reflect.Map: | ||||
| 			t = "map" | ||||
| 			// cannot be a JSONValue map | ||||
| 			if _, ok := value.Interface().(aws.JSONValue); !ok { | ||||
| 				t = "map" | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| @@ -210,14 +214,11 @@ func buildScalar(v reflect.Value, buf *bytes.Buffer, tag reflect.StructTag) erro | ||||
| 		} | ||||
| 		buf.Write(strconv.AppendFloat(scratch[:0], f, 'f', -1, 64)) | ||||
| 	default: | ||||
| 		switch value.Type() { | ||||
| 		case timeType: | ||||
| 			converted := v.Interface().(*time.Time) | ||||
|  | ||||
| 		switch converted := value.Interface().(type) { | ||||
| 		case time.Time: | ||||
| 			buf.Write(strconv.AppendInt(scratch[:0], converted.UTC().Unix(), 10)) | ||||
| 		case byteSliceType: | ||||
| 		case []byte: | ||||
| 			if !value.IsNil() { | ||||
| 				converted := value.Interface().([]byte) | ||||
| 				buf.WriteByte('"') | ||||
| 				if len(converted) < 1024 { | ||||
| 					// for small buffers, using Encode directly is much faster. | ||||
| @@ -233,6 +234,12 @@ func buildScalar(v reflect.Value, buf *bytes.Buffer, tag reflect.StructTag) erro | ||||
| 				} | ||||
| 				buf.WriteByte('"') | ||||
| 			} | ||||
| 		case aws.JSONValue: | ||||
| 			str, err := protocol.EncodeJSONValue(converted, protocol.QuotedEscape) | ||||
| 			if err != nil { | ||||
| 				return fmt.Errorf("unable to encode JSONValue, %v", err) | ||||
| 			} | ||||
| 			buf.WriteString(str) | ||||
| 		default: | ||||
| 			return fmt.Errorf("unsupported JSON value %v (%s)", value.Interface(), value.Type()) | ||||
| 		} | ||||
|   | ||||
							
								
								
									
										15
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/unmarshal.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/unmarshal.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -8,6 +8,9 @@ import ( | ||||
| 	"io/ioutil" | ||||
| 	"reflect" | ||||
| 	"time" | ||||
|  | ||||
| 	"github.com/aws/aws-sdk-go/aws" | ||||
| 	"github.com/aws/aws-sdk-go/private/protocol" | ||||
| ) | ||||
|  | ||||
| // UnmarshalJSON reads a stream and unmarshals the results in object v. | ||||
| @@ -50,7 +53,10 @@ func unmarshalAny(value reflect.Value, data interface{}, tag reflect.StructTag) | ||||
| 				t = "list" | ||||
| 			} | ||||
| 		case reflect.Map: | ||||
| 			t = "map" | ||||
| 			// cannot be a JSONValue map | ||||
| 			if _, ok := value.Interface().(aws.JSONValue); !ok { | ||||
| 				t = "map" | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| @@ -183,6 +189,13 @@ func unmarshalScalar(value reflect.Value, data interface{}, tag reflect.StructTa | ||||
| 				return err | ||||
| 			} | ||||
| 			value.Set(reflect.ValueOf(b)) | ||||
| 		case aws.JSONValue: | ||||
| 			// No need to use escaping as the value is a non-quoted string. | ||||
| 			v, err := protocol.DecodeJSONValue(d, protocol.NoEscape) | ||||
| 			if err != nil { | ||||
| 				return err | ||||
| 			} | ||||
| 			value.Set(reflect.ValueOf(v)) | ||||
| 		default: | ||||
| 			return errf() | ||||
| 		} | ||||
|   | ||||
							
								
								
									
										76
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/jsonvalue.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/jsonvalue.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,76 @@ | ||||
| package protocol | ||||
|  | ||||
| import ( | ||||
| 	"encoding/base64" | ||||
| 	"encoding/json" | ||||
| 	"fmt" | ||||
| 	"strconv" | ||||
|  | ||||
| 	"github.com/aws/aws-sdk-go/aws" | ||||
| ) | ||||
|  | ||||
| // EscapeMode is the mode that should be use for escaping a value | ||||
| type EscapeMode uint | ||||
|  | ||||
| // The modes for escaping a value before it is marshaled, and unmarshaled. | ||||
| const ( | ||||
| 	NoEscape EscapeMode = iota | ||||
| 	Base64Escape | ||||
| 	QuotedEscape | ||||
| ) | ||||
|  | ||||
| // EncodeJSONValue marshals the value into a JSON string, and optionally base64 | ||||
| // encodes the string before returning it. | ||||
| // | ||||
| // Will panic if the escape mode is unknown. | ||||
| func EncodeJSONValue(v aws.JSONValue, escape EscapeMode) (string, error) { | ||||
| 	b, err := json.Marshal(v) | ||||
| 	if err != nil { | ||||
| 		return "", err | ||||
| 	} | ||||
|  | ||||
| 	switch escape { | ||||
| 	case NoEscape: | ||||
| 		return string(b), nil | ||||
| 	case Base64Escape: | ||||
| 		return base64.StdEncoding.EncodeToString(b), nil | ||||
| 	case QuotedEscape: | ||||
| 		return strconv.Quote(string(b)), nil | ||||
| 	} | ||||
|  | ||||
| 	panic(fmt.Sprintf("EncodeJSONValue called with unknown EscapeMode, %v", escape)) | ||||
| } | ||||
|  | ||||
| // DecodeJSONValue will attempt to decode the string input as a JSONValue. | ||||
| // Optionally decoding base64 the value first before JSON unmarshaling. | ||||
| // | ||||
| // Will panic if the escape mode is unknown. | ||||
| func DecodeJSONValue(v string, escape EscapeMode) (aws.JSONValue, error) { | ||||
| 	var b []byte | ||||
| 	var err error | ||||
|  | ||||
| 	switch escape { | ||||
| 	case NoEscape: | ||||
| 		b = []byte(v) | ||||
| 	case Base64Escape: | ||||
| 		b, err = base64.StdEncoding.DecodeString(v) | ||||
| 	case QuotedEscape: | ||||
| 		var u string | ||||
| 		u, err = strconv.Unquote(v) | ||||
| 		b = []byte(u) | ||||
| 	default: | ||||
| 		panic(fmt.Sprintf("DecodeJSONValue called with unknown EscapeMode, %v", escape)) | ||||
| 	} | ||||
|  | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | ||||
| 	m := aws.JSONValue{} | ||||
| 	err = json.Unmarshal(b, &m) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | ||||
| 	return m, nil | ||||
| } | ||||
							
								
								
									
										81
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/payload.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/payload.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,81 @@ | ||||
| package protocol | ||||
|  | ||||
| import ( | ||||
| 	"io" | ||||
| 	"io/ioutil" | ||||
| 	"net/http" | ||||
|  | ||||
| 	"github.com/aws/aws-sdk-go/aws" | ||||
| 	"github.com/aws/aws-sdk-go/aws/client/metadata" | ||||
| 	"github.com/aws/aws-sdk-go/aws/request" | ||||
| ) | ||||
|  | ||||
| // PayloadUnmarshaler provides the interface for unmarshaling a payload's | ||||
| // reader into a SDK shape. | ||||
| type PayloadUnmarshaler interface { | ||||
| 	UnmarshalPayload(io.Reader, interface{}) error | ||||
| } | ||||
|  | ||||
| // HandlerPayloadUnmarshal implements the PayloadUnmarshaler from a | ||||
| // HandlerList. This provides the support for unmarshaling a payload reader to | ||||
| // a shape without needing a SDK request first. | ||||
| type HandlerPayloadUnmarshal struct { | ||||
| 	Unmarshalers request.HandlerList | ||||
| } | ||||
|  | ||||
| // UnmarshalPayload unmarshals the io.Reader payload into the SDK shape using | ||||
| // the Unmarshalers HandlerList provided. Returns an error if unable | ||||
| // unmarshaling fails. | ||||
| func (h HandlerPayloadUnmarshal) UnmarshalPayload(r io.Reader, v interface{}) error { | ||||
| 	req := &request.Request{ | ||||
| 		HTTPRequest: &http.Request{}, | ||||
| 		HTTPResponse: &http.Response{ | ||||
| 			StatusCode: 200, | ||||
| 			Header:     http.Header{}, | ||||
| 			Body:       ioutil.NopCloser(r), | ||||
| 		}, | ||||
| 		Data: v, | ||||
| 	} | ||||
|  | ||||
| 	h.Unmarshalers.Run(req) | ||||
|  | ||||
| 	return req.Error | ||||
| } | ||||
|  | ||||
| // PayloadMarshaler provides the interface for marshaling a SDK shape into and | ||||
| // io.Writer. | ||||
| type PayloadMarshaler interface { | ||||
| 	MarshalPayload(io.Writer, interface{}) error | ||||
| } | ||||
|  | ||||
| // HandlerPayloadMarshal implements the PayloadMarshaler from a HandlerList. | ||||
| // This provides support for marshaling a SDK shape into an io.Writer without | ||||
| // needing a SDK request first. | ||||
| type HandlerPayloadMarshal struct { | ||||
| 	Marshalers request.HandlerList | ||||
| } | ||||
|  | ||||
| // MarshalPayload marshals the SDK shape into the io.Writer using the | ||||
| // Marshalers HandlerList provided. Returns an error if unable if marshal | ||||
| // fails. | ||||
| func (h HandlerPayloadMarshal) MarshalPayload(w io.Writer, v interface{}) error { | ||||
| 	req := request.New( | ||||
| 		aws.Config{}, | ||||
| 		metadata.ClientInfo{}, | ||||
| 		request.Handlers{}, | ||||
| 		nil, | ||||
| 		&request.Operation{HTTPMethod: "GET"}, | ||||
| 		v, | ||||
| 		nil, | ||||
| 	) | ||||
|  | ||||
| 	h.Marshalers.Run(req) | ||||
|  | ||||
| 	if req.Error != nil { | ||||
| 		return req.Error | ||||
| 	} | ||||
|  | ||||
| 	io.Copy(w, req.GetBody()) | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
							
								
								
									
										2
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -25,7 +25,7 @@ func Build(r *request.Request) { | ||||
| 		return | ||||
| 	} | ||||
|  | ||||
| 	if r.ExpireTime == 0 { | ||||
| 	if !r.IsPresigned() { | ||||
| 		r.HTTPRequest.Method = "POST" | ||||
| 		r.HTTPRequest.Header.Set("Content-Type", "application/x-www-form-urlencoded; charset=utf-8") | ||||
| 		r.SetBufferBody([]byte(body.Encode())) | ||||
|   | ||||
							
								
								
									
										1
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/rest/BUILD
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/rest/BUILD
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -14,6 +14,7 @@ go_library( | ||||
|         "//vendor/github.com/aws/aws-sdk-go/aws:go_default_library", | ||||
|         "//vendor/github.com/aws/aws-sdk-go/aws/awserr:go_default_library", | ||||
|         "//vendor/github.com/aws/aws-sdk-go/aws/request:go_default_library", | ||||
|         "//vendor/github.com/aws/aws-sdk-go/private/protocol:go_default_library", | ||||
|     ], | ||||
| ) | ||||
|  | ||||
|   | ||||
							
								
								
									
										29
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										29
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -4,7 +4,6 @@ package rest | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"encoding/base64" | ||||
| 	"encoding/json" | ||||
| 	"fmt" | ||||
| 	"io" | ||||
| 	"net/http" | ||||
| @@ -18,10 +17,13 @@ import ( | ||||
| 	"github.com/aws/aws-sdk-go/aws" | ||||
| 	"github.com/aws/aws-sdk-go/aws/awserr" | ||||
| 	"github.com/aws/aws-sdk-go/aws/request" | ||||
| 	"github.com/aws/aws-sdk-go/private/protocol" | ||||
| ) | ||||
|  | ||||
| // RFC822 returns an RFC822 formatted timestamp for AWS protocols | ||||
| const RFC822 = "Mon, 2 Jan 2006 15:04:05 GMT" | ||||
| // RFC1123GMT is a RFC1123 (RFC822) formated timestame. This format is not | ||||
| // using the standard library's time.RFC1123 due to the desire to always use | ||||
| // GMT as the timezone. | ||||
| const RFC1123GMT = "Mon, 2 Jan 2006 15:04:05 GMT" | ||||
|  | ||||
| // Whether the byte value can be sent without escaping in AWS URLs | ||||
| var noEscape [256]bool | ||||
| @@ -252,13 +254,12 @@ func EscapePath(path string, encodeSep bool) string { | ||||
| 	return buf.String() | ||||
| } | ||||
|  | ||||
| func convertType(v reflect.Value, tag reflect.StructTag) (string, error) { | ||||
| func convertType(v reflect.Value, tag reflect.StructTag) (str string, err error) { | ||||
| 	v = reflect.Indirect(v) | ||||
| 	if !v.IsValid() { | ||||
| 		return "", errValueNotSet | ||||
| 	} | ||||
|  | ||||
| 	var str string | ||||
| 	switch value := v.Interface().(type) { | ||||
| 	case string: | ||||
| 		str = value | ||||
| @@ -271,19 +272,21 @@ func convertType(v reflect.Value, tag reflect.StructTag) (string, error) { | ||||
| 	case float64: | ||||
| 		str = strconv.FormatFloat(value, 'f', -1, 64) | ||||
| 	case time.Time: | ||||
| 		str = value.UTC().Format(RFC822) | ||||
| 		str = value.UTC().Format(RFC1123GMT) | ||||
| 	case aws.JSONValue: | ||||
| 		b, err := json.Marshal(value) | ||||
| 		if err != nil { | ||||
| 			return "", err | ||||
| 		if len(value) == 0 { | ||||
| 			return "", errValueNotSet | ||||
| 		} | ||||
| 		escaping := protocol.NoEscape | ||||
| 		if tag.Get("location") == "header" { | ||||
| 			str = base64.StdEncoding.EncodeToString(b) | ||||
| 		} else { | ||||
| 			str = string(b) | ||||
| 			escaping = protocol.Base64Escape | ||||
| 		} | ||||
| 		str, err = protocol.EncodeJSONValue(value, escaping) | ||||
| 		if err != nil { | ||||
| 			return "", fmt.Errorf("unable to encode JSONValue, %v", err) | ||||
| 		} | ||||
| 	default: | ||||
| 		err := fmt.Errorf("Unsupported value for param %v (%s)", v.Interface(), v.Type()) | ||||
| 		err := fmt.Errorf("unsupported value for param %v (%s)", v.Interface(), v.Type()) | ||||
| 		return "", err | ||||
| 	} | ||||
| 	return str, nil | ||||
|   | ||||
							
								
								
									
										16
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -3,7 +3,6 @@ package rest | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"encoding/base64" | ||||
| 	"encoding/json" | ||||
| 	"fmt" | ||||
| 	"io" | ||||
| 	"io/ioutil" | ||||
| @@ -16,6 +15,7 @@ import ( | ||||
| 	"github.com/aws/aws-sdk-go/aws" | ||||
| 	"github.com/aws/aws-sdk-go/aws/awserr" | ||||
| 	"github.com/aws/aws-sdk-go/aws/request" | ||||
| 	"github.com/aws/aws-sdk-go/private/protocol" | ||||
| ) | ||||
|  | ||||
| // UnmarshalHandler is a named request handler for unmarshaling rest protocol requests | ||||
| @@ -198,23 +198,17 @@ func unmarshalHeader(v reflect.Value, header string, tag reflect.StructTag) erro | ||||
| 		} | ||||
| 		v.Set(reflect.ValueOf(&f)) | ||||
| 	case *time.Time: | ||||
| 		t, err := time.Parse(RFC822, header) | ||||
| 		t, err := time.Parse(time.RFC1123, header) | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 		v.Set(reflect.ValueOf(&t)) | ||||
| 	case aws.JSONValue: | ||||
| 		b := []byte(header) | ||||
| 		var err error | ||||
| 		escaping := protocol.NoEscape | ||||
| 		if tag.Get("location") == "header" { | ||||
| 			b, err = base64.StdEncoding.DecodeString(header) | ||||
| 			if err != nil { | ||||
| 				return err | ||||
| 			} | ||||
| 			escaping = protocol.Base64Escape | ||||
| 		} | ||||
|  | ||||
| 		m := aws.JSONValue{} | ||||
| 		err = json.Unmarshal(b, &m) | ||||
| 		m, err := protocol.DecodeJSONValue(header, escaping) | ||||
| 		if err != nil { | ||||
| 			return err | ||||
| 		} | ||||
|   | ||||
							
								
								
									
										10
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -52,9 +52,15 @@ func parse(r reflect.Value, node *XMLNode, tag reflect.StructTag) error { | ||||
| 	if t == "" { | ||||
| 		switch rtype.Kind() { | ||||
| 		case reflect.Struct: | ||||
| 			t = "structure" | ||||
| 			// also it can't be a time object | ||||
| 			if _, ok := r.Interface().(*time.Time); !ok { | ||||
| 				t = "structure" | ||||
| 			} | ||||
| 		case reflect.Slice: | ||||
| 			t = "list" | ||||
| 			// also it can't be a byte slice | ||||
| 			if _, ok := r.Interface().([]byte); !ok { | ||||
| 				t = "list" | ||||
| 			} | ||||
| 		case reflect.Map: | ||||
| 			t = "map" | ||||
| 		} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user