Skip to content

docs: Cloudflare Workers で WebhookServer を httpServerHandler 経由で使う方法を記載 - #81

Merged
otnc merged 2 commits into
mainfrom
feat/workers-webhook-server
Oct 30, 2026
Merged

otnc merged 2 commits into
mainfrom
feat/workers-webhook-server

Conversation

@otnc

@otnc otnc commented Oct 30, 2026

Copy link
Copy Markdown
Owner

概要

WebhookServer は cloudflare:node の httpServerHandler で Workers の fetch につなげば Cloudflare Workers でも動くことが分かったので、スモークテストで確認するようにし、対応環境とドキュメントを更新した。コードの変更はない。

関連 Issue

関連: #76

変更の種類

  • バグ修正
  • 新機能
  • 公式 API 仕様変更への追従
  • ドキュメント改善
  • テスト追加・改善
  • リファクタリング
  • その他

変更内容

検証

workerd (Wrangler) 上で WebhookServer を起動し、httpServerHandler({ port }) に署名付きのリクエストを渡した。

  • 正しい署名: 204、古いタイムスタンプ: 401、/healthz: 200
  • ハンドラにイベントが届く

スモークテストの Workers の webhook をこの方法で確認するようにし、必須項目にした。

API クライアントと gRPC ストリーミングが Workers で使えない理由

あわせて実測で確認した。

  • mixi2 の API は HTTP/2 の gRPC (application/grpc) だけを受け付ける (gRPC-Web / Connect は 415、HTTP/1.1 は 464)
  • Workers の fetch は外部へ HTTP/1.1 で接続するため、mixi2 の API からは 464 が返る
  • workerd の node:http2 は connect が未実装 (The http2.connect method is not implemented)

ドキュメント

環境 認証 API クライアント WebhookServer createWebhookHandler gRPC ストリーミング
Cloudflare Workers ✅ ❌ ✅ (変更) ✅ ❌
  • Webhook のガイドに「Cloudflare Workers」の節を追加 (createWebhookHandler と WebhookServer + httpServerHandler の使い分けと例)
  • 対応環境の説明と Skill を更新

チェックリスト

  • npm run ci — フォーマットと Lint 通過
  • npm run typecheck — 型チェック通過
  • npm test — テスト全件通過
  • npm run build — ビルド成功 (pages の astro build も確認済み)

otnc added 2 commits October 30, 2026 12:27
…法を記載

API クライアントと gRPC ストリーミングが Workers で使えない理由も、実測に合わせて書き直した。
@otnc
otnc merged commit bedf24c into main Oct 30, 2026
17 checks passed
@otnc
otnc deleted the feat/workers-webhook-server branch October 30, 2026 03:29
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.

1 participant