in lib/limit.go [144:169]
func mapStrings(val ref.Val) (map[string][]string, error) {
iface := val.Value()
switch iface := iface.(type) {
case http.Header:
return iface, nil
case url.Values:
return iface, nil
case map[string][]string:
return iface, nil
case map[ref.Val]ref.Val:
val := types.DefaultTypeAdapter.NativeToValue(iface)
v, err := val.ConvertToNative(reflectMapStringStringSliceType)
if err != nil {
return nil, err
}
return v.(map[string][]string), nil
case ref.Val:
v, err := iface.ConvertToNative(reflectMapStringStringSliceType)
if err != nil {
return nil, err
}
return v.(map[string][]string), nil
default:
return nil, fmt.Errorf("invalid type: %T", iface)
}
}