* Refactor tests to use a text-based standard output. (#1318)
* Implement new style `--help` (#1316)
* Implement man page generation (#1317)
* Implement rich progress bars. (#1324)
* Man page deployment & isolation. (#1325)
* Remove all unsorted usages in the CLI docs
* Implement isolated mode for man page generation
* Add a CI job for autogenerated files
* Distribute man pages through PyPI
* Pin the date for man pages. (#1326)
* Hide suppressed arguments from --help/man pages (#1329)
* Change download spinner to line (#1328)
* Regenerate autogenerated files when pushed against to master. (#1339)
* Highlight options (#1340)
* Additional man page enhancements (#1341)
* Group options by the parent category & highlight -o/--o
* Display (and underline) the METAVAR on man pages.
* Make help message processing more robust (#1342)
* Inherit `help` from `short_help`
* Don't mirror short_help directly.
* Fixup the serialization
* Use `pager` and `man` on `--manual` when applicable (#1343)
* Run `man $program` on --manual
* Page the output of `--manual` for systems that lack man pages
* Improvements over progress bars (separate bar, status line, etc.) (#1346)
* Redesign the --help layout.
* Make our usage of rich compatible with 9.10.0
* Add `HTTPIE_NO_MAN_PAGES`
* Make tests also patch os.get_terminal_size
* Generate CLI spec from HTTPie & Man Page Hook (#1354)
* Generate CLI spec from HTTPie & add man page hook
* Use the full command space for the option headers
* Properly remove duplicate Cookie headers
* Implement support for multiple headers with the same name in sessions
* More testing
* Cleanup
* Remove duplicated test, cleanup
* Fix pycodestyle
* CHANGELOG
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
* Add `httpie cli plugins` in favor of the new cli namespace.
* Separate each task to individual modules.
* Move httpie.manager.plugins to httpie.manager.tasks.plugins
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
* Mark test_stdin_read_warning with requires_installation
* Mark stdin tests with requires_external_processes
Co-authored-by: Nilushan Costa <19643850+nilushancosta@users.noreply.github.com>
* Automatically enable --stream when used chunked encoding
* try fix 3.6 mock issue
* Only enable on text/event-stream
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
* Improve startup time with lazy loading some args
* add some tests
* Add changelog entry
* Update CHANGELOG.md
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
* Preserve individual headers with the same name on responses
* Rename RequestHeadersDict to HTTPHeadersDict
* Update tests/utils/http_server.py
* Update tests/utils/http_server.py
* Update httpie/adapters.py
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
* Strip leading `://` from URLs to allow quick conversion of a pasted URL to calls
Closes#1195
* Markdown lint
* Cleanup
* Cleanup
* Drop extraneous space
* Fix example
* Support multiple headers sharing the same name
* Apply suggestions
* Don't normalize HTTP header names
* apply visual suggestions
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
* bump down multidict to 4.7.0
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
* change behavior of '--quiet' to silence errors and warnings when passed twice together with '--check-status'
* Apply suggestions from code review
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
* remove header, trailing comma, rename constant and variable
* fix flags for tests
* [skip ci] Update ticket number
Co-authored-by: Dave <d.kreeft@outlook.com>
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
Co-authored-by: Mickaël Schoentgen <contact@tiger-222.fr>
* Fix encoding error with non-prettified encoded responses
Removed `--format-option response.as` an promote `--response-as`: using
the format option would be misleading as it is now also used by non-prettified
responses.
* Encoding refactoring
* split --response-as into --response-mime and --response-charset
* add support for Content-Type charset for requests printed to terminal
* add support charset detection for requests printed to terminal without a Content-Type charset
* etc.
* `test_unicode.py` → `test_encoding.py`
* Drop sequence length check
* Clean-up tests
* [skip ci] Tweaks
* Use the compatible release clause for `charset_normalizer` requirement
Cf. https://www.python.org/dev/peps/pep-0440/#version-specifiers
* Clean-up
* Partially revert d52a4833e4
* Changelog
* Tweak tests
* [skip ci] Better test name
* Cleanup tests and add request body charset detection
* More test suite cleanups
* Cleanup
* Fix code style in test
* Improve detect_encoding() docstring
* Uniformize pytest.mark.parametrize() calls
* [skip ci] Comment out TODOs (will be tackled in a specific PR)
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
* Allow to override the response `Content-Type` from options
* Apply suggestions from code review
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
* Rename the option from `--response.content-type` to `--response-as`
* Update CHANGELOG.md
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>