Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make option redirect output from --output/-o to stdin #1591

Open
1 task done
h4r1337 opened this issue Jul 29, 2024 · 0 comments
Open
1 task done

Make option redirect output from --output/-o to stdin #1591

h4r1337 opened this issue Jul 29, 2024 · 0 comments
Labels
enhancement New feature or enhancement new Needs triage. Comments are welcome!

Comments

@h4r1337
Copy link

h4r1337 commented Jul 29, 2024

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 
@h4r1337 h4r1337 added enhancement New feature or enhancement new Needs triage. Comments are welcome! labels Jul 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or enhancement new Needs triage. Comments are welcome!
1 participant