-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
Proposal 4.0 (HTTP/2+3, OS Trust Store, Custom DNS, OCSP, ...) #1531
base: master
Are you sure you want to change the base?
Conversation
46f030c
to
16ccc1b
Compare
16ccc1b
to
741017e
Compare
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
faf9aef
to
c12f000
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## master #1531 +/- ##
==========================================
- Coverage 97.28% 0 -97.29%
==========================================
Files 67 0 -67
Lines 4235 0 -4235
==========================================
- Hits 4120 0 -4120
+ Misses 115 0 -115 ☔ View full report in Codecov by Sentry. |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
52653e4
to
247b382
Compare
0b4eebb
to
7dd1152
Compare
So far, I identified this: |
We can add the following arguments and document them:
|
7dd1152
to
7257a74
Compare
I've added and documented it.
Ideally, the connection information (TLS, Cipher, Peer/Issuer Certificate, and OCSP) should be in the request metadata and with a lexer instruction. |
7257a74
to
4c246e4
Compare
4c246e4
to
f034379
Compare
Damn this looks so tantalizing. I'd love for this to get packaged as a tryout / beta. Something installable via e.g. |
f034379
to
df42bba
Compare
03c82ce
to
04f4190
Compare
…hen body is compressed
04f4190
to
f989e5e
Compare
In the latest commit:
|
003887a
to
fa4e887
Compare
fa4e887
to
55aea9c
Compare
# Conflicts: # CHANGELOG.md # extras/man/http.1 # extras/man/httpie.1 # extras/man/https.1 # httpie/__init__.py # setup.cfg
It's now been over a year since this pull was opened, and almost three months since the last activity. I've been using this at least six months with no issue, installed locally with pip. What is the holdup on seeing this merged?? |
If there is a concern that something will break for someone: yes it will, a lot has changed. But at this point the fastest way to find and resolve those edge cases may be to go ahead and release to find out what those edge cases are. On the whole there are a lot of good changes here and the positives seem like they outweigh the negatives. |
I mean, if we want a staged rollout, this could be released as a beta release. If this is promoted on the homepage, I'm sure we will get much more coverage. |
Hello, Long time since I have look at this PR. Since last time, Niquests evolved a lot. The client now support:
I've added in this PR:
I agree with you all that the best way to move forward is to cut a release and listen closely to the feedback and act iteratively. regards, |
@jkbrzt Aren't you the maintainer here? Could you give an update on this? |
Just fixed the last sneaky warning in the tests. The suite now complete perfectly. Took a bit of time and added Happy Eyeballs support via this PR fixes 35 issues[...] now. |
@Ousret, like the others in the thread, I also wanted to thank you for your work on this PR. I have been building it with my NixOS flake https://gitea.com/techknowlogick/tklk-flake as I run the PR version daily. |
This PR showcases how HTTPie could evolve outside of Requests.
Niquests is supposed to be a (mostly) compatible fork of Requests.
Try this preview:
$ pip install "git+https://github.com/Ousret/HTTPie.git@feature-tryout-niquests" -U
Here are the biggest pros of this:
Obviously, cons:
Complete list of changes in the fork: https://github.com/jawah/niquests/blob/main/HISTORY.md
http
#1527--download
reports an "incomplete download" with Content-Encoding: gzip and content-length. #4234.0.0 (unreleased)
requests
library to the compatibleniquests
. (#1531)--heb
flag (disabled by default). #1599 #1531-6
and-4
. (#94, #1531)--resolver
. DNS over HTTPS, DNS over TLS, DNS over QUIC, and DNS over UDP are accepted. (#99, #1531)--interface
. (#1422, #1531)--local-port
. (#1456, #1531).localhost
to the default loopback address. (#1458, #1527)This fix has the particularity to consider 0 byte long stdin buffer as absent stdin. Empty stdin buffer will be ignored.
-1
to retrieve packets as they arrive. (#1531)Content-Encoding
aka. compressed body. (#1554, #423, #1527)x-hello-world
is displayed asX-Hello-World
.pyopenssl
. (#1531)requests_toolbelt
in favor of directly includingMultipartEncoder
into HTTPie due to its direct dependency to requests. (#1531)multidict
in favor of an internal one due to often missing pre-built wheels. (#1522, #1531)Existing plugins are expected to work without any changes. The only caveat would be that certain plugin explicitly require
requests
.Future contributions may be made in order to relax the constraints where applicable.