Skip to content

feat: add support for nested metadata serialization in request bodies and query strings#71

Merged
wozozo merged 1 commit intomasterfrom
fix-metadata-format
Apr 13, 2026
Merged

feat: add support for nested metadata serialization in request bodies and query strings#71
wozozo merged 1 commit intomasterfrom
fix-metadata-format

Conversation

@wozozo
Copy link
Copy Markdown
Contributor

@wozozo wozozo commented Apr 13, 2026

概要

v3.0.0superagent から fetch への移行時に発生した、metadata: { ... } のようなネストオブジェクトの application/x-www-form-urlencoded への不正なシリアライズの修正。

metadata: { user: 121899 } のような従来の指定方法のサポート復元。

変更内容

  • src/resource.ts

    • form-urlencoded 用の共通 serializer の追加
    • plain object の再帰的な bracket 記法への展開
    • GET/DELETE の query string と POST/PUT の request body における共通 serializer の利用
  • 互換性

    • metadata: { user: "test" } のような object 形式の正式サポート
    • "metadata[user]": "test" 形式の後方互換維持
  • README.md

    • metadata を object で指定する利用例の追加

テスト

test/requestor.spec.js への以下のケースの追加。

  • POST body における metadata: { user: 121899 }metadata[user]=121899 への展開
  • GET query string における metadata: { user: 121899 }metadata[user]=121899 への展開
  • POST body における "metadata[user]": "test" の送信互換性
  • GET query string における "metadata[user]": "test" の送信互換性

@wozozo wozozo marked this pull request as ready for review April 13, 2026 06:59
@wozozo wozozo merged commit 8ece1aa into master Apr 13, 2026
2 checks passed
@wozozo wozozo deleted the fix-metadata-format branch April 13, 2026 08:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants