542 Commits
Author SHA1 Message Date
aykhans 11b147381f Merge pull request #236 from aykhans/dependabot/go_modules/github.com/valyala/fasthttp-1.75.0
build(deps): bump github.com/valyala/fasthttp from 1.74.0 to 1.75.0
2026-10-09 12:26:16 +04:00
github-actions[bot] 99e5bd4277 fix(nix): update vendorHash [dependabot skip] 2026-10-09 00:13:18 +00:00
dependabot[bot] ad943867dc build(deps): bump github.com/valyala/fasthttp from 1.74.0 to 1.75.0
Bumps [github.com/valyala/fasthttp](https://github.com/valyala/fasthttp) from 1.74.0 to 1.75.0.
- [Release notes](https://github.com/valyala/fasthttp/releases)
- [Commits](https://github.com/valyala/fasthttp/compare/v1.74.0...v1.75.0)

---
updated-dependencies:
- dependency-name: github.com/valyala/fasthttp
  dependency-version: 1.75.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-09 00:12:25 +00:00
aykhans a58ef60316 Merge pull request #232 from aykhans/feat/script-http
feat: add http function to script engines
v1.5.0
2026-10-04 22:12:38 +04:00
aykhans 5b11ef2933 Merge remote-tracking branch 'origin/main' into feat/script-http
# Conflicts:
#	nix/package.nix
2026-10-04 22:10:02 +04:00
aykhans 3e01ce47cc nix: update vendorHash 2026-10-04 22:04:01 +04:00
aykhans 95f55e1056 nix: bump package version to 1.5.0 2026-10-04 21:59:36 +04:00
aykhans 824f03452e chore(deps): update dependencies 2026-10-04 21:58:53 +04:00
aykhans b7c589de53 fix(client): prefer IPv4 and fall back to IPv6 instead of dialing both 2026-10-04 21:50:18 +04:00
aykhans 23b3d7b1cc fix: dial dual-stack only for IPv6-only hosts 2026-10-04 15:51:50 +04:00
aykhans ab3b458f15 docs: fix statements that did not match the code 2026-10-02 02:05:49 +04:00
aykhans 51e8f2a57f fix(script): match the main request default for the script http timeout 2026-10-02 01:13:25 +04:00
aykhans a1e4c15285 docs: say what the dry run duration measures 2026-10-02 00:12:50 +04:00
aykhans bea48eeab0 docs: say that a dry run still sends a script's own requests 2026-10-01 22:43:24 +04:00
aykhans cd0fa453c2 fix(script): bound how deep json.encode walks a Lua table 2026-10-01 22:13:29 +04:00
aykhans 847c4b39ce fix(script): decode a compressed http() response body 2026-10-01 21:17:43 +04:00
aykhans 9e773a4e6c fix(script): reject a non-object headers, params or cookies in JavaScript 2026-09-30 21:18:50 +04:00
aykhans bcf2ea3446 fix(script): reject async/generator JS transforms and catch throwing getters 2026-09-30 19:53:37 +04:00
aykhans e85a6d4613 docs: drop the redirect login example, it cannot work (#235) 2026-09-30 12:59:16 +04:00
aykhans 4a14d57d15 fix(config): reject a hidden YAML document and drop Go types from errors 2026-09-30 12:29:00 +04:00
aykhans 633f548e7b fix(config): report YAML config errors more clearly 2026-09-30 01:07:28 +04:00
aykhans 68de415645 fix(config): reject unknown fields in a YAML config file 2026-09-30 00:14:51 +04:00
aykhans fb8443fd25 chore: read response headers into a 64KiB buffer instead of 4KiB 2026-09-29 23:40:57 +04:00
aykhans e0f6d4aeba fix: send an idempotent request once instead of retrying it five times 2026-09-29 23:22:51 +04:00
aykhans 17dfa16051 feat(script): add res.bytes() so JavaScript can read a binary body 2026-09-29 23:22:51 +04:00
aykhans a327c4978b fix: report one error text when a response body is too large 2026-09-29 23:06:22 +04:00
aykhans 9d6e4e6bf8 chore(template): raise the remote file timeout to 30s 2026-09-29 22:59:42 +04:00
aykhans 9c7b7c26a0 refactor(script): drop the per-call maxBodySize and its client cache 2026-09-29 10:58:25 +04:00
aykhans ef5907dc0c fix: cap body limits at 1GiB and key script clients by the exact size 2026-09-29 00:55:04 +04:00
aykhans 1956eb1c44 fix(script): enforce script body limits without streaming
Streaming accepted a chunked body cut at a chunk boundary as complete,
so the limit now comes from the client that reads the body, picked per
requested size. Script requests keep their own default, maxBodySize
accepts sizes like 10MiB, and files sarin downloads for itself are
capped at 64MiB.
2026-09-29 00:41:48 +04:00
aykhans f1d91e3d77 feat: limit response body sizes
fasthttp allocates the body from the declared Content-Length before
reading it, so a server could exhaust memory by declaring a size it
never sends. The new max response body config bounds every response,
defaults to 10MiB and accepts sizes like 10MiB or 2MB. Scripts get the
same as a maxBodySize option on http().
2026-09-28 22:49:39 +04:00
aykhans 3d535d89e3 Merge pull request #234 from aykhans/dependabot/go_modules/charm.land/bubbletea/v2-2.0.10
build(deps): bump charm.land/bubbletea/v2 from 2.0.9 to 2.0.10
2026-09-28 11:09:28 +04:00
github-actions[bot] 3a23b1b370 fix(nix): update vendorHash [dependabot skip] 2026-09-28 00:17:06 +00:00
dependabot[bot] a37885a308 build(deps): bump charm.land/bubbletea/v2 from 2.0.9 to 2.0.10
---
updated-dependencies:
- dependency-name: charm.land/bubbletea/v2
  dependency-version: 2.0.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-28 00:16:18 +00:00
aykhans 412a02fea3 chore: bump golangci-lint to v2.14.0 2026-09-27 01:05:07 +04:00
aykhans 8da05bb10c fix(stats): key generation failures by source and bound the key count 2026-09-27 01:03:04 +04:00
aykhans c32949c8e0 fix(script): convert non-string header, param and cookie values to text 2026-09-26 01:17:49 +04:00
aykhans a30c862936 fix(script): bind script HTTP requests to the run context 2026-09-25 22:34:20 +04:00
aykhans 5d91141f80 fix(script): stringify thrown JavaScript values through Runtime.Try 2026-09-24 22:34:59 +04:00
aykhans 878ca6dfbd fix(script): bound maxRedirects to 100 and reject out of range values 2026-09-24 19:08:58 +04:00
aykhans 9de1d5ac93 Merge pull request #233 from aykhans/dependabot/go_modules/github.com/brianvoe/gofakeit/v7-7.17.1
build(deps): bump github.com/brianvoe/gofakeit/v7 from 7.17.0 to 7.17.1
2026-09-23 10:44:38 +04:00
github-actions[bot] 6fc17d1e10 fix(nix): update vendorHash [dependabot skip] 2026-09-23 00:13:47 +00:00
dependabot[bot] 4518895ab2 build(deps): bump github.com/brianvoe/gofakeit/v7 from 7.17.0 to 7.17.1
Bumps [github.com/brianvoe/gofakeit/v7](https://github.com/brianvoe/gofakeit) from 7.17.0 to 7.17.1.
- [Release notes](https://github.com/brianvoe/gofakeit/releases)
- [Commits](https://github.com/brianvoe/gofakeit/compare/v7.17.0...v7.17.1)

---
updated-dependencies:
- dependency-name: github.com/brianvoe/gofakeit/v7
  dependency-version: 7.17.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-23 00:12:55 +00:00
aykhans 9b0e7c4304 fix: dial IPv6 hosts by enabling dual-stack and trying every resolved address 2026-09-23 01:03:42 +04:00
aykhans d4c7dcc42c fix: apply per-request timeouts to script HTTP proxy dials 2026-09-23 00:45:44 +04:00
aykhans 00226b0eb7 fix: size script HTTP client connection pool to worker count 2026-09-22 19:29:51 +04:00
aykhans a60287b78b docs: document http() and Lua json in scripts 2026-09-20 23:30:16 +04:00
aykhans 529420ee5a feat(script): replace followRedirects with maxRedirects http option 2026-09-20 23:18:21 +04:00
aykhans 8b437b487c feat(script): add http() and json to Lua and JS scripts 2026-09-20 23:02:51 +04:00
aykhans 5ca9cda2b9 docs(cli): show config-file flag type as []string in help text 2026-09-19 00:14:48 +04:00