Comments (7)
I was able to compile with zlib, seems working, but not well tested
from curl-http3.
I've checked curl compile options, and there are no options about compression.
So I've check curl code and seems compression does not work with BoringSSL on which this version is based
from curl-http3.
If you have a branch I can try it out with my webserver to confirm 👍
from curl-http3.
Released as new version
docker run -it --rm ymuski/curl-http3 curl -IL https://yurets.pro --compressed --http3
> content-encoding: gzip
you can try it
docker pull ymuski/curl-http3:latest
docker pull ymuski/curl-http3:8.2.1
from curl-http3.
Hmm, that's weird. It seems to hang after making the request and reading most of the response body.
Here's how I'm testing it:
- Download a build of Caddy from https://github.com/caddyserver/caddy/releases/tag/v2.7.4,
chmod +x
the binary if necessary - Make a
Caddyfile
with the below contents:
{
admin off
debug
http_port 8881
https_port 8882
}
https://localhost:8882 {
log
encode gzip
respond "THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING THIS IS A LONG STRING this is the end"
}
- Run Caddy with
./caddy run --config Caddyfile
, this'll spin up a server with a self-managed CA listening for requests tohttps://localhost:8882
- Make a request with
docker run -it --rm --init --net=host ymuski/curl-http3 curl -vks --http3-only --compressed https://localhost:8882
- Notice it hangs after the response, it also never prints out
this is the end
and it stops printing before the last chunk of the body, no matter the length of the body (you can add tons of extra text in the middle and notice it'll print the middle stuff but not the ending stuff 🤔) - Using
--init
is necessary because otherwise theCtrl+C
signal will not reach the curl command and the container will hang indefinitely. Using--net=host
cause it's just slightly easier to run Caddy on the host machine since it's a static binary, don't feel like setting up a docker-compose file etc. Using-k
because it's a self-managed CA and the CA cert on the host isn't visible to the curl in the container.
from curl-http3.
does it behave same w/o http3?
and whats the behavior of regular curl with http1.1?
from curl-http3.
I will update https://github.com/yurymuski/nginx-http3 for latest quiche and check on it also
from curl-http3.
Related Issues (8)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from curl-http3.