Pekemalu-WebApiTestServer
- ダウンロード商品¥ 500

# Pekemalu-WebApiTestServer Web APIやHTTP通信の開発・テストに利用できる、ローカルHTTPテストサーバーです。 WebアプリやAPIクライアントの開発では、正常なレスポンスだけでなく、HTTPエラー、JSONの解析失敗、CORS制約、ファイルダウンロード時のヘッダーなど、さまざまな状況を想定したテストが必要になることがあります。 Pekemalu-WebApiTestServer は、こうしたテストに利用できるHTTPエンドポイントをまとめた、スタンドアロンの開発者向けツールです。 Node.js上で動作し、手元のPCでサーバーを起動するだけで、さまざまなHTTPレスポンスやダウンロード関連の挙動を確認できます。 --- ## 🔎 こんな用途に たとえば、次のような開発・テストに利用できます。 ・HTTPクライアントが正常なレスポンスを処理できるか確認したい ・HTTP 400 / 401 / 404 / 429 / 500 などへのエラー処理をテストしたい ・JSONの解析に失敗するケースを再現したい ・CORSによってブラウザからの通信が制限されるケースを確認したい ・ファイルダウンロード時の `Content-Disposition` ヘッダーを検証したい ・日本語ファイル名を指定したダウンロードの挙動を確認したい ・空のファイルや、ダウンロード関連ヘッダーが欠けているケースをテストしたい ・APIやネットワーク関連の診断ツールを開発・テストしたい 本番環境では発生させにくいエラーや特殊なレスポンスを、開発用の環境で再現したい場合に向いています。 --- ## ✨ 主な機能 ### 🌐 正常レスポンス・HTTPエラー 正常系からエラー系まで、さまざまなHTTPレスポンスを返すエンドポイントを用意しています。 ・HTTP 200 / 201 / 204 などの正常レスポンス ・HTTP 400 / 401 / 403 / 404 などのエラーレスポンス ・HTTP 429(リクエスト制限超過)と `Retry-After` ヘッダー ・HTTP 500 / 502 / 503 / 504 などのサーバー・ゲートウェイ関連エラー ・正常なJSONと、不正なJSONのレスポンス ・`text/html` など、JSON以外のコンテンツタイプの確認 HTTPステータスやレスポンス本文に応じて、アプリケーションが適切に処理できるかを検証するために利用できます。 ### 🔀 CORSテスト CORSに関する動作確認用のエンドポイントを用意しています。 ・CORSを許可するレスポンス ・CORSを許可するヘッダーを付けないレスポンス ・OPTIONSリクエストへの応答 ・プリフライトリクエスト用ヘッダーの確認 ブラウザからのクロスオリジン通信を試したり、CORS関連の問題を切り分けたりする際に利用できます。 ※ ブラウザのCORS制約による動作を確認するには、実際に別Originのページからアクセスする必要があります。HTTPレスポンスヘッダーだけを確認する場合とは区別してご利用ください。 ### 📥 ファイルダウンロード・Content-Disposition ファイルダウンロードに関係するHTTPヘッダーやレスポンスの確認に対応しています。 ・通常のファイルダウンロード ・`filename` によるファイル名の指定 ・`filename*` による日本語ファイル名の指定 ・`filename` と `filename*` を併用したケース ・`Content-Disposition` ヘッダーがないケース ・不正な形式の `Content-Disposition` ヘッダー ・空のファイルのダウンロード ・PDF / ZIP形式のContent-Typeを指定したレスポンス ダウンロード処理やファイル名の取り扱いなど、HTTPヘッダーに関係する実装を検証する際に利用できます。 ### 🧪 シンプルな構成 ・Node.js標準の `node:http` を使用 ・ExpressなどのWebフレームワークは不要 ・エンドポイントごとに、テストしたいレスポンスを呼び出せる構成 ・ソースコードとテストコードを同梱 特定のWebアプリや製品に依存せず、HTTP通信を扱うさまざまな開発・テストに利用できます。 --- ## 📦 商品に含まれるもの 商品ZIPには、以下を含めています。 ・TypeScriptソースコード(`src/`) ・ビルド済みJavaScript(`dist/`) ・テストコード(`tests/`) ・README ・LICENSE ・npm / TypeScript等の開発用設定ファイル `node_modules/` は含まれていません。 --- ## 🌐 動作環境 ### サーバーの利用 ・Node.js 24.12.0以上 ・npm 商品に含まれる手順に従って依存パッケージをインストールし、サーバーを起動して利用します。 デフォルトでは `http://127.0.0.1:8080/` で待ち受けます。ポート番号は環境変数 `PORT` で変更できます。 サーバーは `127.0.0.1` にバインドするため、同じPC上での利用を前提としています。 ### 開発・テスト・ビルド 商品にはソースコードと開発用設定も含まれています。 ソースコードの変更、テストの実行、ビルドを行う場合も、Node.jsとnpmを利用できます。 具体的なセットアップ方法や起動コマンドについては、商品に同梱している `README.md` をご確認ください。 --- ## ⚠️ 注意事項 ・本商品は、開発・テスト用途のHTTPテストサーバーです。本番サービスとしての利用を目的としたものではありません。 ・サーバーは同じPC上からの利用を前提としており、外部からのアクセスは想定していません。 ・CORSの動作は、ブラウザからの実際のクロスオリジンアクセスと、HTTPレスポンスヘッダーの確認とで異なります。 ・PDF / ZIP形式のレスポンスは、主にContent-Typeやダウンロード動作を確認するためのものです。実際のPDF文書やZIPアーカイブとしての完全な検証には対応していません。 ・本ツールはテスト用のレスポンスを提供するものであり、実際のAPIサービスや本番環境の挙動を完全に再現するものではありません。 --- ## 📜 ライセンス 個人利用・組織内利用・商用利用が可能です。 本商品を改変したり、購入者自身のソフトウェア・システム・サービスなどに組み込んで利用したりすることができます。 本商品を組み込んだ購入者自身のソフトウェアやサービスを配布・販売することも可能です。 一方で、本商品そのものの再配布・再販売や、改変版を含めて独立した製品・ライブラリ・テンプレートなどとして再パッケージして配布・販売することは禁止しています。 詳しい条件については、商品に同梱されている `LICENSE.txt` をご確認ください。 --- ## 🔖 Version **1.0.0** Pekemalu Works
