reqdumper
2024-01-02 10:53:41受け取った HTTP リクエストの内容を出力するだけの HTTP サーバー
ヘッダーやらボディやら、アップロードしたファイルの確認やらをすることができます。
APIを利用するクライアントを作るときの動作確認用途で作りました。
ダウンロード
使い方
reqdumper
ブラウザーやAPIクライアントから http://localhost:12345/ にアクセスします。
すると、↓このようなログが出力されます。
|
|
↑の出力例は、reqdumper --lf jsonindent
をした場合の出力です。
デフォルト (--lf json
) は1行で出力され見ずらいので、改行・インデント込みのフォーマットでの出力例をお見せしました。
ログフォーマット
オプション --logformat
もしくは --lf
にフォーマットを指定します。
例: reqdumper --lf markdown
指定できるフォーマットは、以下の4つです。
json
(default)jsonindent
text
markdown
ログは、アクセスがあったタイミングで標準出力に出力されます。
注意なのが、json
, jsonindent
を指定した場合であっても、特にカンマ等での連結はされません。
つまり、↓のような出力になります。
{ ... }
{ ... }
JSONの配列になったりもしません。
そういう意味では json
系のフォーマットは微妙かもしれません。
jq で加工すれば配列にすることもできますが、ちょっと面倒です。
個人的には markdown
がおすすめです。
|
|
–no-md-use-codequote
LogFormatとして markdown
を指定した場合、デフォルトでは各ヘッダーの名前や値、ボディーがバックティック (`) で囲まれます。
オプション --no-md-use-codequote
を指定することで、その挙動を抑止します。
例: reqdumper --lf markdown --no-md-use-codequote
Body と FormParam と File
Go言語の話になって恐縮ですが、http.Request.ParseForm() もしくは http.Request.ParseMultipartForm() に成功した場合は FormParam や File に値が入ります。 この場合、Body には値が入りません。
上記の ParseXXX() に失敗した場合は Body に値が入ります。
ファイルの扱い
ファイルの中身はログとしては出力されません。 ログとは別にファイルとして出力されます。
オプション --fileformat
に出力ファイル名のフォーマットを指定します。
デフォルトは、file/{uri_asdir}/{filename}_{year}{month}{day}_{hour}{minute}{second}{nano}{ext}
です。
表記 | 説明 |
---|---|
{year}{month}{day} | 日付 |
{hour}{minute}{second}{nanosecond}{nano} | 時刻 |
{uri}{url} | URI の各要素を _ で区切ったもの |
{uri_asdir}{url_asdir} | URI の各要素ごとのディレクトリー |
{paramname} | ファイルのパラメーター名 |
{filename} | ファイル名から拡張子を抜いたもの |
{ext} | . から始まる拡張子 |
- 📄 Goのパッケージ2024-04-20 22:46:28Go向けパッケージの一覧
- 📄 Vim LSP メモ2024-04-20 11:40:33忘れそうな内容をメモ
- 📄 GOEXPERIMENT + Build Constraints2024-02-13 22:32:04例えば GOEXPERIMENT=rangefunc の場合にビルドしたい/したくない場合の書き方
- 📄 reqdumper2024-01-02 10:53:41受け取った HTTP リクエストの内容を出力するだけの HTTP サーバー
- 📄 detour2024-01-02 10:29:11Windows のショートカット先を書き換える CLI アプリ
- 📄 Popcorn2023-10-21 22:00:18自分がよく使うコマンドを登録して呼び出すための Vim script
- 📄 deline2023-10-21 21:08:33Vim の statusline をカスタマイズしやすくするための Vim script. すぐに使
- 📄 k7jis2023-01-07 15:18:44Keychron K7 を JIS 配列のキーボードとして使っている場合に便利なキーマッピングを追加
- 📄 csv2xlsx2023-01-05 21:23:31CSVファイルをXLSXファイルに変換するツール
- 📄 slack-file2022-08-25 23:13:37Slackにアップされたファイルを操作するツール(主に削除)