Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Make option redirect output from `--output/-o` to `stdin`

オープン
#1,591 コメント 0 件 リアクション 1 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
55/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
停滞
技術スタック
python
領域
cli

調査の方向性

httpie/cli/argparser.py の _setup_standard_streams() から始めます。ここでは traceback に、出力ストリームに対して seek(0) が呼び出されていることが示されています。次に、--output が httpie/core.py を通じてどのように処理されるかを追跡します。-o - とバイナリレスポンスを使ってコマンドを再現します。出力が stdout に到達し、seekability エラーなしで head または xxd にパイプできれば完了です。

索引モデルが issue の本文から書いたものです。

説明

enhancement new

Checklist

  • I've searched for similar feature requests.

Enhancement request

I want to be able to redirect the output when using the --output/-o flag to the stdin like this:

http www.example.com/?req=index.html --output -

Currently if I run it this way, it shows this error message:

Traceback (most recent call last):
  File "/home/user/.local/bin/http", line 8, in <module>
    sys.exit(main())
  File "/home/user/.local/lib/python3.10/site-packages/httpie/__main__.py", line 9, in main
    exit_status = main()
  File "/home/user/.local/lib/python3.10/site-packages/httpie/core.py", line 162, in main
    return raw_main(
  File "/home/user/.local/lib/python3.10/site-packages/httpie/core.py", line 77, in raw_main
    parsed_args = parser.parse_args(
  File "/home/user/.local/lib/python3.10/site-packages/httpie/cli/argparser.py", line 172, in parse_args
    self._setup_standard_streams()
  File "/home/user/.local/lib/python3.10/site-packages/httpie/cli/argparser.py", line 250, in _setup_standard_streams
    self.args.output_file.seek(0)
io.UnsupportedOperation: File or stream is not seekable.

Problem it solves

I know if the output format is normal we don't have to use this. But when the output is binary or the file contains some null bytes somewhere like %00 http won't show the output. But we can rather use the --output/-o to redirect the binary to a file.
I don't want to redirect to a new file, I just want to check the file content in a single command. This is more productive because I can now redirect the input stream to other programs like head, xxd etc.
Like this:

http example.com/binary -b --output - | head | xxd 
主要言語
Python
スター
38.6k
フォーク
4k
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

httpie/cli のほかの issue

httpie/cli の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。