setWithProperType() — gin Function Reference
Architecture documentation for the setWithProperType() function in form_mapping.go from the gin codebase.
Entity Profile
Dependency Diagram
graph TD 258ae74c_d8fe_39e5_de46_9ff457fed54a["setWithProperType()"] 0bcba57f_f00e_ed0e_0516_ee30758711c8["form_mapping.go"] 258ae74c_d8fe_39e5_de46_9ff457fed54a -->|defined in| 0bcba57f_f00e_ed0e_0516_ee30758711c8 a3bc6e41_4537_9cf9_f14c_d1a876a83af1["setByForm()"] a3bc6e41_4537_9cf9_f14c_d1a876a83af1 -->|calls| 258ae74c_d8fe_39e5_de46_9ff457fed54a 7d109b23_ce35_afaa_2c84_5f028e2f243e["setArray()"] 7d109b23_ce35_afaa_2c84_5f028e2f243e -->|calls| 258ae74c_d8fe_39e5_de46_9ff457fed54a 77fb8e79_5378_81f8_a5e5_43e49056cd67["trySetUsingParser()"] 258ae74c_d8fe_39e5_de46_9ff457fed54a -->|calls| 77fb8e79_5378_81f8_a5e5_43e49056cd67 fe1ce612_0a94_5769_acda_dde6219d8c6c["trySetCustom()"] 258ae74c_d8fe_39e5_de46_9ff457fed54a -->|calls| fe1ce612_0a94_5769_acda_dde6219d8c6c 496adc56_89d5_85c7_fdd1_3ebc54a8a9e8["setIntField()"] 258ae74c_d8fe_39e5_de46_9ff457fed54a -->|calls| 496adc56_89d5_85c7_fdd1_3ebc54a8a9e8 796a04bd_6ff3_05c1_494d_2e226f264be4["setTimeDuration()"] 258ae74c_d8fe_39e5_de46_9ff457fed54a -->|calls| 796a04bd_6ff3_05c1_494d_2e226f264be4 33a4e14a_8b4a_3af1_da25_1ddc5e6012bf["setUintField()"] 258ae74c_d8fe_39e5_de46_9ff457fed54a -->|calls| 33a4e14a_8b4a_3af1_da25_1ddc5e6012bf 7ce50cf3_9550_6e0c_e534_498117f61e43["setBoolField()"] 258ae74c_d8fe_39e5_de46_9ff457fed54a -->|calls| 7ce50cf3_9550_6e0c_e534_498117f61e43 0ea44f2c_e732_7d4f_ea03_c5c72e30870f["setFloatField()"] 258ae74c_d8fe_39e5_de46_9ff457fed54a -->|calls| 0ea44f2c_e732_7d4f_ea03_c5c72e30870f 034b9427_1fc8_bb5c_9530_6a9ec5654a35["setTimeField()"] 258ae74c_d8fe_39e5_de46_9ff457fed54a -->|calls| 034b9427_1fc8_bb5c_9530_6a9ec5654a35 style 258ae74c_d8fe_39e5_de46_9ff457fed54a fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
binding/form_mapping.go lines 323–388
func setWithProperType(val string, value reflect.Value, field reflect.StructField, opt setOptions) error {
// this if-check is required for parsing nested types like []MyId, where MyId is [12]byte
if ok, err := trySetUsingParser(val, value, opt.parser); ok {
return err
} else if ok, err = trySetCustom(val, value); ok {
return err
}
// If it is a string type, no spaces are removed, and the user data is not modified here
if value.Kind() != reflect.String {
val = strings.TrimSpace(val)
}
switch value.Kind() {
case reflect.Int:
return setIntField(val, 0, value)
case reflect.Int8:
return setIntField(val, 8, value)
case reflect.Int16:
return setIntField(val, 16, value)
case reflect.Int32:
return setIntField(val, 32, value)
case reflect.Int64:
switch value.Interface().(type) {
case time.Duration:
return setTimeDuration(val, value)
}
return setIntField(val, 64, value)
case reflect.Uint:
return setUintField(val, 0, value)
case reflect.Uint8:
return setUintField(val, 8, value)
case reflect.Uint16:
return setUintField(val, 16, value)
case reflect.Uint32:
return setUintField(val, 32, value)
case reflect.Uint64:
return setUintField(val, 64, value)
case reflect.Bool:
return setBoolField(val, value)
case reflect.Float32:
return setFloatField(val, 32, value)
case reflect.Float64:
return setFloatField(val, 64, value)
case reflect.String:
value.SetString(val)
case reflect.Struct:
switch value.Interface().(type) {
case time.Time:
return setTimeField(val, field, value)
case multipart.FileHeader:
return nil
}
return json.API.Unmarshal(bytesconv.StringToBytes(val), value.Addr().Interface())
case reflect.Map:
return json.API.Unmarshal(bytesconv.StringToBytes(val), value.Addr().Interface())
case reflect.Ptr:
if !value.Elem().IsValid() {
value.Set(reflect.New(value.Type().Elem()))
}
return setWithProperType(val, value.Elem(), field, opt)
default:
return errUnknownType
}
return nil
}
Domain
Subdomains
Defined In
Calls
Called By
Source
Frequently Asked Questions
What does setWithProperType() do?
setWithProperType() is a function in the gin codebase, defined in binding/form_mapping.go.
Where is setWithProperType() defined?
setWithProperType() is defined in binding/form_mapping.go at line 323.
What does setWithProperType() call?
setWithProperType() calls 8 function(s): setBoolField, setFloatField, setIntField, setTimeDuration, setTimeField, setUintField, trySetCustom, trySetUsingParser.
What calls setWithProperType()?
setWithProperType() is called by 2 function(s): setArray, setByForm.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free