Добавил метод json() в starlarkResponse в
файле internal/builtins/http.go:175-185. Теперь response объект имеет: - code - код ответа - headers - заголовки - body - reader для чтения тела ответа - json() - метод для парсинга JSON из тела ответа
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -5,4 +5,5 @@
|
|||||||
.gigaide/
|
.gigaide/
|
||||||
.idea/
|
.idea/
|
||||||
.claude/
|
.claude/
|
||||||
CLAUDE.md
|
CLAUDE.md
|
||||||
|
test*
|
@@ -173,10 +173,14 @@ func makeRequest(name, method string, args starlark.Tuple, kwargs []starlark.Tup
|
|||||||
}
|
}
|
||||||
|
|
||||||
func starlarkResponse(res *http.Response) *starlarkstruct.Struct {
|
func starlarkResponse(res *http.Response) *starlarkstruct.Struct {
|
||||||
|
reader := newStarlarkReader(res.Body)
|
||||||
return starlarkstruct.FromStringDict(starlarkstruct.Default, starlark.StringDict{
|
return starlarkstruct.FromStringDict(starlarkstruct.Default, starlark.StringDict{
|
||||||
"code": starlark.MakeInt(res.StatusCode),
|
"code": starlark.MakeInt(res.StatusCode),
|
||||||
"headers": starlarkStringSliceMap(res.Header),
|
"headers": starlarkStringSliceMap(res.Header),
|
||||||
"body": newStarlarkReader(res.Body),
|
"body": reader,
|
||||||
|
"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)
|
||||||
|
}),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user