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
fdd486415a
Fix XML formatter tests
2021-09-01 10:28:03 +02:00
Mickaël Schoentgen
d10e108b5f
Added support for XML formatting ( #1129 )
...
As a side effect, XHTML responses will be pretty-printed too.
2021-08-31 22:49:53 +02:00
Mickaël Schoentgen
c6cbc7dfa5
Uniformize UTF-8 naming ( #1115 )
...
* Uniformize UTF-8 naming
Replace `utf8` -> `utf-8` everywhere.
It should have no impact, `utf8` is an alias of `utf-8` [1].
[1] ee03bad25e/Lib/encodings/aliases.py (L534)
* Always specify the encoding
Let's be explicit over implicit. And prevent future warnings from PEP-597 [1].
[1] https://www.python.org/dev/peps/pep-0597/#using-the-default-encoding-is-a-common-mistake
* Update `UTF8` constant (`utf-8` -> `utf_8`)
* Remove default argument from `str.encode()` and `bytes.decode()`
* Clean-up
2021-08-05 20:58:43 +02:00
Mickaël Schoentgen
11399dde76
Refine abstract methods and properties ( #1118 )
2021-08-05 20:57:23 +02:00
Mickaël Schoentgen
04d05a8abd
Minor clean-up ( #1112 )
...
* Remove Python 2 clean-up misses
* Remove unused `Environment.devnull` setter
* Simplifies `get_filename_max_length()`
2021-07-26 23:56:38 +02:00
Mickaël Schoentgen
8374a9ed83
Review OSError exceptions handling ( #1080 )
...
- Replace obsolete `IOError` (Python 2) with `OSError`,
cf https://docs.python.org/3/library/exceptions.html#OSError .
- Improve `OSError` catches at different places, simplifying
the code.
2021-05-31 10:10:41 +02:00
Mickaël Schoentgen
464b5b4c1d
Polish Python 2 removal ( #1070 )
2021-05-27 13:05:41 +02:00
Mickaël Schoentgen
0ff0874fa3
Modernize the code base with f-strings ( #1068 )
2021-05-25 20:49:07 +02:00
Mickaël Schoentgen
a3a08a9a22
Use relative imports ( #1057 )
...
* Use relative imports in test
* Use relative imports
* Add myself to contributors :)
2021-05-05 14:13:39 +02:00
Jakub Roztocil
0f1e098cc4
Fix incorrect separators and introduce assert_output_matches()
( close #1027 )
2021-01-30 22:14:57 +01:00
Jakub Roztocil
6925d930da
Add support for streamed uploads, --chunked, finish --multipart, etc.
...
Close #201
Close #753
Close #684
Close #903
Related: #452
2020-09-28 12:16:57 +02:00
Jakub Roztocil
b7754f92ce
Merge branch 'master' into feature/uploads2020
...
# Conflicts:
# httpie/cli/argparser.py
# httpie/uploads.py
2020-09-25 14:46:19 +02:00
Jakub Roztocil
e4e40e5b06
Request content type
2020-09-25 14:44:22 +02:00
Jakub Roztocil
d12af4a569
WIP
2020-09-25 13:44:28 +02:00
Jakub Roztocil
6cd934d1b8
Add support for multipart upload streaming
...
Close #684 , #201
2020-08-15 17:50:00 +02:00
Jakub Roztocil
c2a0cef76e
Add --format-options to allow disabling sorting, etc.
...
#128
2020-05-27 16:01:17 +02:00
Jakub Roztocil
cd085cbc0d
Refactor built-in plugin registry to avoid circular imports
...
Fix #925
2020-05-26 10:07:34 +02:00
Jakub Roztocil
bece3c77bb
Add one-by-one processing of each HTTP request or response and --offline
2019-09-03 17:14:39 +02:00
Jakub Roztocil
c946b3d34f
Cleanup
2019-09-02 14:38:23 +02:00
Jakub Roztocil
30624e66ec
Annotate formatters and processing
2019-08-31 19:13:36 +02:00
Jakub Roztocil
b947d4826a
Annotate plugins
2019-08-31 18:33:54 +02:00
Jakub Roztocil
e8ef5a783f
Annotate and refactor streams.py
2019-08-31 18:21:10 +02:00
Jakub Roztocil
aba3b1ec01
Refactoring
2019-08-31 15:17:10 +02:00
Jakub Roztocil
0f654388fc
Python 3 annotations, super(), pathlib, etc.
2019-08-30 15:14:51 +02:00
Jakub Roztocil
b3d2c1876e
Python 2.7 support removal WIP
2019-08-29 08:53:56 +02:00
Jakub Roztocil
932d3224f4
Cleanup
2018-11-02 16:23:17 +01:00
Jakub Roztocil
ab5a50cee8
Finish --style=auto for terminal ANSI colors and make it the default.
...
Previously (only in the development version), this was called 'preset'.
2018-11-02 14:53:05 +01:00
Jakub Roztocil
7917f1b40c
Build fixes and clean-up
...
* reflect Python 3.7 release
* fix `pycodestyle` errors
* update `pycodestyle` config
* move `pytest` and `pycodestyle` config to `setup.cfg`
* add `make pycodestyle`
* add `make coveralls`
* etc.
2018-07-12 21:16:16 +02:00
Piotr Śliwka
87e661c5f1
Support using styles from Pygments plugins ( #663 )
...
`pygments.styles.STYLE_MAP` contains only styles built directly into
Pygments library. To list all available styles (including styles
registered by plugins), one should use `get_all_styles` generator.
For respective Pygments documentation, see:
http://pygments.org/docs/styles/#getting-a-list-of-available-styles
2018-04-14 15:25:59 -05:00
Davorin Šego
02209c2db1
Oops, remove semicolons
2017-03-11 18:12:00 +01:00
Davorin Šego
9886f01f91
New style option that applies the terminal ANSI color scheme
2017-03-11 18:00:35 +01:00
Davorin Šego
a4f796fe69
Revert "Follow terminal ANSI color styles"
...
This reverts commit b0fde07cfd
.
2017-03-11 16:58:50 +01:00
Davorin Šego
b0fde07cfd
Follow terminal ANSI color styles
...
Removes the default solarized color scheme and custom http lexer class.
2017-03-06 01:05:50 +01:00
Jakub Roztocil
65081b2f12
Cleanup
2016-07-01 19:00:06 +02:00
Jakub Roztocil
963b2746f5
Be more liberal when detecting JSON in the formatter
...
Closes #485
2016-07-01 18:57:13 +02:00
Jakub Roztocil
293295cad6
Removed XML formatter
...
Closes #443
Closes #389
Closes #415
Closes #384
Closes #394
2016-03-18 09:16:39 +08:00
Jakub Roztocil
6e1dbadff9
Replace --show-redirects with --all and add --print-others, -P
...
With --all, any intermediary requests/responses are shown (such as redirects
or the initial unauthorized Digest auth request).
The --print-others, -P option works like --print, -p, but only applies to
intermediary requests/responses. The default behaviour is to inherit
the value of -p.
2016-03-07 07:04:23 +08:00
Jakub Roztocil
5e03aeceb7
Make fruity default style one Windows
...
(again)
2016-03-06 08:33:40 +08:00
Jakub Roztocil
4f8d6c013b
Fixed get_lexer()
2016-03-01 16:55:12 +08:00
Jakub Roztocil
345f5a02a2
Fixed json absolute import
2016-03-01 16:39:50 +08:00
Jakub Roztocil
f96f0ef9ed
JSON detection improvements
2016-03-01 16:22:54 +08:00
Jakub Roztocil
74e4d0b678
Added JSON detection when `--json, -j
` is set
...
To correctly format JSON responses even when an incorrect ``Content-Type`` is returned.
Closes #92
Closes #349
Closes #368
2016-03-01 14:57:15 +08:00
Jakub Roztocil
ed08ab133e
Refactoring
2016-02-29 15:00:17 +08:00
Jakub Roztocil
0f8d04b4df
More robust mime type parsing
...
Closes #344
2016-02-28 20:12:16 +08:00
Jakub Roztocil
274dddfb45
Changed the default color style back to solarized
...
Closes #440
2016-02-17 14:46:35 +08:00
Jakub Roztocil
1c181a5d25
1.0.0-dev
2015-02-24 07:52:34 +01:00
Jakub Roztocil
a228399801
0.9.2
2015-02-24 07:50:15 +01:00
Jakub Roztocil
dd0a4ab87a
Default --style to "monokai"
...
419ca85
2015-02-14 22:51:31 +01:00
Jakub Roztocil
419ca85e62
The default color --style is now "fruity"
...
It's experimental - please let me know should you dislike this change.
To make Solarized default again, add this to your ~/.config.json:
"default_options": [
"--style=solarized"
],
2015-02-14 18:18:04 +01:00