Commit Graph

1565 Commits

Author SHA1 Message Date
Mickaël Schoentgen
4f1c9441c5
Fix encoding error with non-prettified encoded responses (#1168)
* 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>
2021-10-06 17:27:07 +02:00
Mickaël Schoentgen
7989e438d2
Add documentation about our release process (#1159)
* Add documentation about our release process

* Fixes

* Add company-related tasks, enable back WIP pages

* Fix WIP links

* Add AOSC OS

* Add WIP for AOSC OS

* Tweak

* Remove maintainers email IDs

* Use GH nicknames

* Remove useless WIP for brew

* Tweaks
2021-10-06 16:45:44 +02:00
Mickaël Schoentgen
93114072c8 Fix looked path for workflow testing packages 2021-10-06 11:21:54 +02:00
Mickaël Schoentgen
08751d3672
Add install/update instructions database (#1160)
* Add install/update instructions database

* Update the database

* Revert README changes

They will be overwritten later.

* Revert

* Tweak

* Tweaks

* Upgrade database

* Complete commands

Still not sure about Spack upgrades.

* Sort

* Doc generation script draft

* Remove OS names from tool names

* Fix Linuxbrew name

* `wheel` already installs `setuptools`

* Gen docs

* Update

* Tweak

* Add a GitHub workflow to check for outdated installation instructions

* Fix return value

* Test

* Delete test

* Rename the script

* Add `make doc-install-inst`

* Add missing dev requirement

* The first tool is the primary we want to display

Then they are simply sorted by `tool.title`.

* Sort OSes by name

* Refactoring, jinja template, etc.

* Add tool title uniqueness `assert`, fix platform list extra `\n`

* Rebuild docs

* Update generate.py

* Update README.md

* Update methods.yml

* Update distros derived, more assertions

* Tweaks

* Add workflow to auto-update the docs

* Do not hide the command

* Tweaks

Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
2021-10-06 11:18:27 +02:00
Jakub Roztocil
0c9d701618 Add make install-reqs to install packages without creating env 2021-10-05 21:37:48 +02:00
Jakub Roztocil
a3fa016428
Cover on Python 3.10 2021-10-05 21:30:28 +02:00
Jakub Roztocil
9c52449344
Add self to paths; same paths for PR and push 2021-10-05 21:28:39 +02:00
Jakub Roztocil
e4e4927567
Test on Python 3.10 2021-10-05 21:25:10 +02:00
Mickaël Schoentgen
031b4b89e3 Fix docs formatting 2021-10-05 15:46:10 +02:00
Mickaël Schoentgen
e1c08a3de5 Mention Snapcraft for unstable version installation 2021-10-05 15:45:34 +02:00
Jakub Roztocil
033798adc1
Update README.md 2021-10-03 03:20:23 +02:00
Jakub Roztocil
6a4e985f71
Remove redundant/inconsistent article 2021-10-03 03:08:05 +02:00
Jakub Roztocil
a6c70334cf
Expand HTTP method docs
* mention `POST` without a body
* mention `GET` with a body
* mention custom method names
* include examples for default `GET`/`POST`
2021-10-03 03:05:37 +02:00
Jakub Roztocil
7388401134
Update setup.py 2021-10-02 16:50:39 +02:00
Jakub Roztocil
4ef31ecf71
Update utils.py 2021-10-02 16:43:29 +02:00
Jakub Roztocil
2423f893e5
Update config.json 2021-09-30 14:39:32 +02:00
Jakub Roztocil
b6a694afbc
master/latest docs differ since --response-as 2021-09-30 14:39:18 +02:00
Mickaël Schoentgen
71adcd97d0
Improve handling of prettified responses without correct content-type encoding (#1110)
* Improve handling of responses without correct content-type charset

* [skip ci] Minor tweaks in tests

* [skip ci] Add documentation

Co-authored-by: claudiatd <claudiatd@gmail.com>

* Improve unknown encoding test

[skip ci]

* Review mime and options retrieval

* Add full content-type example in help output

* Simplify decoder

* [skip ci] s/charset/encoding/

* Tweaks

* [skip ci] Fix type annotation

* [skip ci] s/charset/encoding/

* Tweaks

* Fix type annoation

* Improvement

* Introduce `codec.encode()`

* [skip ci] Tweak changelog

Co-authored-by: claudiatd <claudiatd@gmail.com>
2021-09-29 20:22:19 +02:00
Mickaël Schoentgen
b50f9aa7e7 Use PYthon 3 documentation
[skip ci]
2021-09-28 12:54:16 +02:00
Mickaël Schoentgen
fe96b2af20 Use httpie.io/docs everywhere
[skip ci]
2021-09-28 12:53:53 +02:00
Mickaël Schoentgen
727b8a2c05
Sort available style choices (#1166) 2021-09-27 16:55:10 +02:00
Mickaël Schoentgen
9c89c703ae
Allow to overwrite the response Content-Type from options (#1134)
* 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>
2021-09-27 13:58:19 +02:00
Mickaël Schoentgen
8f8851f1db Remove trailing comma in test 2021-09-24 10:37:59 +02:00
Mickaël Schoentgen
bce2b3a98e Sort changelog 2021-09-23 17:17:29 +02:00
Mickaël Schoentgen
474093acdf
Include plugin info in --debug output (#1165)
* Include plugin info in `--debug` output

* Adapt issue number

* Fix docs
2021-09-23 17:15:14 +02:00
Jakub Roztocil
1535d0c976
Mention XML when explaining formatting 2021-09-23 12:27:03 +02:00
Mickaël Schoentgen
cae83b3f9e Add FreeBSD installation instructions
Closes #761.
2021-09-23 10:46:06 +02:00
Mickaël Schoentgen
507514b795
Add workflow to test with pyOpenSSL active (#1164)
* Add workflow to test with pyOpenSSL active

Original patch by @gmelodie.

* Fix tests on Windows with Python 3.6
2021-09-23 10:37:23 +02:00
Mickaël Schoentgen
d7ed45bbcd
Fix duplicate keys preservation of JSON data (#1163)
* Fix duplicate keys preservation of JSON data

* Update issue number

* Fix type annotations

* Changes after review

* Rewording
2021-09-21 19:07:59 +02:00
Mickaël Schoentgen
e6c5cd3e4b
Improve JSON output when there is leading data before the actual JSON body (#1130)
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
2021-09-21 11:15:43 +02:00
Mickaël Schoentgen
273134123a
Bump the version to 2.6.0.dev0 (#1162)
[skip ci]
2021-09-21 10:40:09 +02:00
Mickaël Schoentgen
529aa78ee1
Expand the pytest configuration (#1161)
And rely on it to run tests.
2021-09-20 17:36:03 +02:00
Mickaël Schoentgen
e2ba214ac0
[snap] Improve OS integration (#1157)
Get back read-write access to `$HOME/.config/httpie` and `$HOME/.httpie`.
2021-09-15 16:50:44 +02:00
Mickaël Schoentgen
9dd0203bae
Use HTTPie for the documentation build request (#1150)
Co-authored-by: Jakub Roztocil <jakub@roztocil.co>
2021-09-15 14:25:46 +02:00
Jakub Roztocil
ba6fd0bc14
Add a blog post link 2021-09-14 01:01:46 +02:00
Mickaël Schoentgen
8f7f4a6ef4
Remove some horizontal lines in the bug report
And add myself to assignees.
2021-09-13 12:36:01 +02:00
Mickaël Schoentgen
9984447f18
Reverse results in bug report temlpate
Ir seems weird to ask for the expected result before knowing the current one.
2021-09-13 12:33:32 +02:00
Jakub Roztocil
10081b9fcc
Update README.md 2021-09-11 17:17:15 +02:00
Jakub Roztocil
4f84362d73
Update config.json 2021-09-10 23:58:33 +02:00
Jakub Roztocil
2b5f8f48bf
Update update-documentation.yml 2021-09-10 20:06:29 +02:00
Jakub Roztocil
a51068a44d
Update update-documentation.yml 2021-09-10 20:05:23 +02:00
Jakub Roztocil
f06d870012
Update and rename documentations.yml to check-markdown.yml 2021-09-10 20:04:52 +02:00
Jakub Roztocil
0115a4a466
Create config.json 2021-09-10 18:50:45 +02:00
Jakub Roztocil
7c1d26a8fa
Update README.md 2021-09-10 11:17:23 +02:00
Jakub Roztocil
7734e47280
Update README.md 2021-09-10 11:17:10 +02:00
Mickaël Schoentgen
30c595b770 [snap] Comment out the problematic interface
It seems it just needs to be present for the snap to be rejected.
2021-09-10 11:04:57 +02:00
Mickaël Schoentgen
b38352858f [snap] Remove personal-files interface
Use of the `personal-files` interface is reserved for vetted publishers.

The interface requires a validation, but we need to publish at least
one package first. So let's skip that part, release a version and ask
for the interface access in a second time.

Also add a workflow to build & test the snap package.
2021-09-10 10:30:44 +02:00
Mickaël Schoentgen
a45b94fda6 Complete CentOS installation instructions 2021-09-09 16:38:36 +02:00
Mickaël Schoentgen
513e5080e4 Add the release workflow
It has to be triggered manually for now.
2021-09-09 16:13:13 +02:00
Mickaël Schoentgen
7c9f415107
Add a workflow to check documentations (#1151)
* Add a workflow to check documentations

* Fix markdown issues

* Install Ruby 2.7

* Finally, handle and fix GitHub templates

* Minor improvement in the feature request template

* Verbose mode to be sure all files are checked
2021-09-09 15:52:24 +02:00