* 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>
In some special cases, to prevent against Cross Site Script Inclusion (XSSI)
attacks, the JSON response body starts with a magic prefix line that must be
stripped before feeding the rest of the response body to the JSON parser.
Such prefix is now simply ignored from the parser but still printed in the
terminal.
* Fix Windows tests
* Fix the handling of cookies from session files
* Apply suggestions from code review
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
* Fix test docstring formatting
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>