добавлен флаг --now

This commit is contained in:
2025-08-16 12:42:08 +03:00
parent 2ae44a466e
commit c769134a29
2 changed files with 20 additions and 0 deletions

View File

@@ -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)
}),

View File

@@ -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())
}