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} | . から始まる拡張子 |
- 📄 Hugo テーマ 6. Render Hook2024-08-16 12:36:24#5 の題材を、今度は Render Hook という機能を使って実装します。
- 📄 pomi2024-08-16 10:26:05ポメラSyncされたメモを操作するツール →後継のソフトウェアpmsyncを使ってください。
- 📄 Goでテーブル駆動のベンチマークをとる方法2024-08-16 10:26:05公式に記載ありますが、まとめてみます。
- 📄 slog-handler-guide2024-08-16 10:26:05slog-handler-guide の解説
- 📄 Popcorn2024-08-16 10:26:05自分がよく使うコマンドを登録して呼び出すための Vim script
- 📄 Ergodox EZ キーボードレイアウト2024-08-16 10:26:05JISレイアウトを参考にした、Ergodox EZ のキーボードレイアウト
- 📄 Go言語でのスタックトレースを簡素化する2024-08-16 10:26:05Go言語のパッケージ: 冗長なスタックトレースを簡素化して出力します。
- 📄 Keychron K15 Pro2024-08-15 21:30:59買ったので雑に感想でも書いてみます。
- 📄 Vim LSP メモ2024-08-15 21:30:59忘れそうな内容をメモ
- 📄 GOEXPERIMENT + Build Constraints2024-08-15 21:30:59例えば GOEXPERIMENT=rangefunc の場合にビルドしたい/したくない場合の書き方