func makeMapStrings()

in lib/http.go [880:905]


func makeMapStrings(val reflect.Value) (reflect.Value, error) {
	iface := val.Interface()
	switch iface := iface.(type) {
	case http.Header:
		return reflect.ValueOf(iface), nil
	case url.Values:
		return reflect.ValueOf(iface), nil
	case map[string][]string:
		return reflect.ValueOf(iface), nil
	case map[ref.Val]ref.Val:
		val := types.DefaultTypeAdapter.NativeToValue(iface)
		v, err := val.ConvertToNative(reflectMapStringStringSliceType)
		if err != nil {
			return reflect.Value{}, err
		}
		return reflect.ValueOf(v), nil
	case ref.Val:
		v, err := iface.ConvertToNative(reflectMapStringStringSliceType)
		if err != nil {
			return reflect.Value{}, err
		}
		return reflect.ValueOf(v.(map[string][]string)), nil
	default:
		return reflect.Value{}, fmt.Errorf("invalid type: %T", iface)
	}
}