добавлен флаг --now
This commit is contained in:
@@ -178,6 +178,7 @@ func starlarkResponse(res *http.Response) *starlarkstruct.Struct {
|
||||
"code": starlark.MakeInt(res.StatusCode),
|
||||
"headers": starlarkStringSliceMap(res.Header),
|
||||
"body": reader,
|
||||
"url": starlark.String(res.Request.URL.String()),
|
||||
"json": starlark.NewBuiltin("response.json", func(thread *starlark.Thread, b *starlark.Builtin, args starlark.Tuple, kwargs []starlark.Tuple) (starlark.Value, error) {
|
||||
return reader.readJSON(thread, b, args, kwargs)
|
||||
}),
|
||||
|
@@ -23,8 +23,16 @@ func Convert(v any) (starlark.Value, error) {
|
||||
}
|
||||
|
||||
func convert(val reflect.Value) (starlark.Value, error) {
|
||||
// Check for invalid or nil values
|
||||
if !val.IsValid() {
|
||||
return starlark.None, nil
|
||||
}
|
||||
|
||||
switch val.Kind() {
|
||||
case reflect.Interface:
|
||||
if val.IsNil() {
|
||||
return starlark.None, nil
|
||||
}
|
||||
return convert(val.Elem())
|
||||
case reflect.Int, reflect.Int64, reflect.Int32, reflect.Int16, reflect.Int8:
|
||||
return starlark.MakeInt64(val.Int()), nil
|
||||
@@ -37,9 +45,20 @@ func convert(val reflect.Value) (starlark.Value, error) {
|
||||
case reflect.String:
|
||||
return starlark.String(val.String()), nil
|
||||
case reflect.Slice, reflect.Array:
|
||||
if val.IsNil() {
|
||||
return starlark.None, nil
|
||||
}
|
||||
return convertSlice(val)
|
||||
case reflect.Map:
|
||||
if val.IsNil() {
|
||||
return starlark.None, nil
|
||||
}
|
||||
return convertMap(val)
|
||||
case reflect.Ptr:
|
||||
if val.IsNil() {
|
||||
return starlark.None, nil
|
||||
}
|
||||
return convert(val.Elem())
|
||||
default:
|
||||
return nil, fmt.Errorf("%w: %s", ErrInvalidType, val.Type())
|
||||
}
|
||||
|
Reference in New Issue
Block a user