Merge pull request #23006 from containers/renovate/github.com-gorilla-schema-1.x
Update module github.com/gorilla/schema to v1.4.0
This commit is contained in:
		
						commit
						afe55cded0
					
				
							
								
								
									
										2
									
								
								go.mod
								
								
								
								
							
							
						
						
									
										2
									
								
								go.mod
								
								
								
								
							| 
						 | 
				
			
			@ -40,7 +40,7 @@ require (
 | 
			
		|||
	github.com/google/uuid v1.6.0
 | 
			
		||||
	github.com/gorilla/handlers v1.5.2
 | 
			
		||||
	github.com/gorilla/mux v1.8.1
 | 
			
		||||
	github.com/gorilla/schema v1.3.0
 | 
			
		||||
	github.com/gorilla/schema v1.4.0
 | 
			
		||||
	github.com/hashicorp/go-multierror v1.1.1
 | 
			
		||||
	github.com/hugelgupf/p9 v0.3.1-0.20230822151754-54f5c5530921
 | 
			
		||||
	github.com/json-iterator/go v1.1.12
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										4
									
								
								go.sum
								
								
								
								
							
							
						
						
									
										4
									
								
								go.sum
								
								
								
								
							| 
						 | 
				
			
			@ -277,8 +277,8 @@ github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyE
 | 
			
		|||
github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w=
 | 
			
		||||
github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
 | 
			
		||||
github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
 | 
			
		||||
github.com/gorilla/schema v1.3.0 h1:rbciOzXAx3IB8stEFnfTwO3sYa6EWlQk79XdyustPDA=
 | 
			
		||||
github.com/gorilla/schema v1.3.0/go.mod h1:Dg5SSm5PV60mhF2NFaTV1xuYYj8tV8NOPRo4FggUMnM=
 | 
			
		||||
github.com/gorilla/schema v1.4.0 h1:l2N+lRTJtev9SUhBtj6NmSxd/6+8LhvN0kV+H2Y8R9k=
 | 
			
		||||
github.com/gorilla/schema v1.4.0/go.mod h1:Dg5SSm5PV60mhF2NFaTV1xuYYj8tV8NOPRo4FggUMnM=
 | 
			
		||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 h1:/c3QmbOGMGTOumP2iT/rCwB7b0QDGLKzqOmktBjT+Is=
 | 
			
		||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1/go.mod h1:5SN9VR2LTsRFsrEC6FHgRbTWrTHu6tqPeKxEQv15giM=
 | 
			
		||||
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -92,9 +92,9 @@ func (d *Decoder) Decode(dst interface{}, src map[string][]string) error {
 | 
			
		|||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//setDefaults sets the default values when the `default` tag is specified,
 | 
			
		||||
//default is supported on basic/primitive types and their pointers,
 | 
			
		||||
//nested structs can also have default tags
 | 
			
		||||
// setDefaults sets the default values when the `default` tag is specified,
 | 
			
		||||
// default is supported on basic/primitive types and their pointers,
 | 
			
		||||
// nested structs can also have default tags
 | 
			
		||||
func (d *Decoder) setDefaults(t reflect.Type, v reflect.Value) MultiError {
 | 
			
		||||
	struc := d.cache.get(t)
 | 
			
		||||
	if struc == nil {
 | 
			
		||||
| 
						 | 
				
			
			@ -104,6 +104,15 @@ func (d *Decoder) setDefaults(t reflect.Type, v reflect.Value) MultiError {
 | 
			
		|||
 | 
			
		||||
	errs := MultiError{}
 | 
			
		||||
 | 
			
		||||
	if v.Type().Kind() == reflect.Struct {
 | 
			
		||||
		for i := 0; i < v.NumField(); i++ {
 | 
			
		||||
			field := v.Field(i)
 | 
			
		||||
			if field.Type().Kind() == reflect.Ptr && field.IsNil() && v.Type().Field(i).Anonymous {
 | 
			
		||||
				field.Set(reflect.New(field.Type().Elem()))
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, f := range struc.fields {
 | 
			
		||||
		vCurrent := v.FieldByName(f.name)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -121,7 +130,7 @@ func (d *Decoder) setDefaults(t reflect.Type, v reflect.Value) MultiError {
 | 
			
		|||
			} else if f.typ.Kind() == reflect.Slice {
 | 
			
		||||
				vals := strings.Split(f.defaultValue, "|")
 | 
			
		||||
 | 
			
		||||
				//check if slice has one of the supported types for defaults
 | 
			
		||||
				// check if slice has one of the supported types for defaults
 | 
			
		||||
				if _, ok := builtinConverters[f.typ.Elem().Kind()]; !ok {
 | 
			
		||||
					errs.merge(MultiError{"default-" + f.name: errors.New("default option is supported only on: bool, float variants, string, unit variants types or their corresponding pointers or slices")})
 | 
			
		||||
					continue
 | 
			
		||||
| 
						 | 
				
			
			@ -129,10 +138,13 @@ func (d *Decoder) setDefaults(t reflect.Type, v reflect.Value) MultiError {
 | 
			
		|||
 | 
			
		||||
				defaultSlice := reflect.MakeSlice(f.typ, 0, cap(vals))
 | 
			
		||||
				for _, val := range vals {
 | 
			
		||||
					//this check is to handle if the wrong value is provided
 | 
			
		||||
					if convertedVal := builtinConverters[f.typ.Elem().Kind()](val); convertedVal.IsValid() {
 | 
			
		||||
						defaultSlice = reflect.Append(defaultSlice, convertedVal)
 | 
			
		||||
					// this check is to handle if the wrong value is provided
 | 
			
		||||
					convertedVal := builtinConverters[f.typ.Elem().Kind()](val)
 | 
			
		||||
					if !convertedVal.IsValid() {
 | 
			
		||||
						errs.merge(MultiError{"default-" + f.name: fmt.Errorf("failed setting default: %s is not compatible with field %s type", val, f.name)})
 | 
			
		||||
						break
 | 
			
		||||
					}
 | 
			
		||||
					defaultSlice = reflect.Append(defaultSlice, convertedVal)
 | 
			
		||||
				}
 | 
			
		||||
				vCurrent.Set(defaultSlice)
 | 
			
		||||
			} else if f.typ.Kind() == reflect.Ptr {
 | 
			
		||||
| 
						 | 
				
			
			@ -142,12 +154,12 @@ func (d *Decoder) setDefaults(t reflect.Type, v reflect.Value) MultiError {
 | 
			
		|||
					errs.merge(MultiError{"default-" + f.name: errors.New("default option is supported only on: bool, float variants, string, unit variants types or their corresponding pointers or slices")})
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				//this check is to handle if the wrong value is provided
 | 
			
		||||
				// this check is to handle if the wrong value is provided
 | 
			
		||||
				if convertedVal := convertPointer(t1.Kind(), f.defaultValue); convertedVal.IsValid() {
 | 
			
		||||
					vCurrent.Set(convertedVal)
 | 
			
		||||
				}
 | 
			
		||||
			} else {
 | 
			
		||||
				//this check is to handle if the wrong value is provided
 | 
			
		||||
				// this check is to handle if the wrong value is provided
 | 
			
		||||
				if convertedVal := builtinConverters[f.typ.Kind()](f.defaultValue); convertedVal.IsValid() {
 | 
			
		||||
					vCurrent.Set(builtinConverters[f.typ.Kind()](f.defaultValue))
 | 
			
		||||
				}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -684,7 +684,7 @@ github.com/gorilla/handlers
 | 
			
		|||
# github.com/gorilla/mux v1.8.1
 | 
			
		||||
## explicit; go 1.20
 | 
			
		||||
github.com/gorilla/mux
 | 
			
		||||
# github.com/gorilla/schema v1.3.0
 | 
			
		||||
# github.com/gorilla/schema v1.4.0
 | 
			
		||||
## explicit; go 1.20
 | 
			
		||||
github.com/gorilla/schema
 | 
			
		||||
# github.com/hashicorp/errwrap v1.1.0
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue