Добавил метод json() в starlarkResponse в

файле internal/builtins/http.go:175-185. Теперь
  response объект имеет:
  - code - код ответа
  - headers - заголовки
  - body - reader для чтения тела ответа
  - json() - метод для парсинга JSON из тела ответа
This commit is contained in:
2025-08-15 00:14:14 +03:00
parent c315329c11
commit 0b22531dd4
2 changed files with 7 additions and 2 deletions

3
.gitignore vendored
View File

@@ -5,4 +5,5 @@
.gigaide/
.idea/
.claude/
CLAUDE.md
CLAUDE.md
test*

View File

@@ -173,10 +173,14 @@ func makeRequest(name, method string, args starlark.Tuple, kwargs []starlark.Tup
}
func starlarkResponse(res *http.Response) *starlarkstruct.Struct {
reader := newStarlarkReader(res.Body)
return starlarkstruct.FromStringDict(starlarkstruct.Default, starlark.StringDict{
"code": starlark.MakeInt(res.StatusCode),
"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)
}),
})
}