Age | Commit message (Collapse) | Author |
|
Includes-commit: 87a0483e19cd79907f6a9851eecaac5d0a1bf4b1
Includes-commit: 1978a261816afbe5bf1cf56977dbc67e2d6cba1a
Includes-commit: f9730f6c71dc8a3ecf57e8e1a512462bbb6b7ea4
Includes-commit: 141996d93c6b088edc81a70bf062ed41154c8c74
Includes-commit: b8415685cb192e0d11f4cfb751e01eb26b8a5e5f
Includes-commit: 67283ad69f6ea04e219ac827bb9cf7cc4808da06
Includes-commit: d644ecc4186ccbf65442defff4fa34c2307d6a0a
Replicated-from: https://github.com/cloudflare/pingora/pull/480
Co-authored-by: Viacheslav Biriukov <[email protected]>
|
|
messages
|
|
Includes-commit: d26d344e15bd411dd298b32ecc3e60ac233b0866
Replicated-from: https://github.com/cloudflare/pingora/pull/471
Co-authored-by: Matthew Gumport <[email protected]>
|
|
Includes-commit: 7cee7a7e368a6e445903af1d59d92c680948ed2b
Replicated-from: https://github.com/cloudflare/pingora/pull/454
|
|
The h2 crate does not appear to check for content-length underflow if
only a header frame is received with END_STREAM.
|
|
This change takes the existing API for ListenerEndpoint and modifies it to use a typical idiomatic builder style.
There are additional improvements which I feel can be made here, but I believe that it would be better to do them in subsequent commits in order to keep changes as incremental as possible.
In particular, I think that making socket options into sub-builder is probably a good move.
|
|
The rust 2021 use rust version is 1.56.0, `matches` included in the
standard library prelude and thus is automatically in scope.
Includes-commit: ebc6cbfd1039273c2b9620bd4c70a395afccfc3a
Replicated-from: https://github.com/cloudflare/pingora/pull/414
Signed-off-by: Xiaobo Liu <[email protected]>
|
|
Certain APIs consuming HTTPTasks want to know if the response has
finished. However, in cases such as protocol errors the h2 RecvStream
will return `is_end_stream` which may be associated with an HTTPTask
that was not actually the end of stream. This affects systems such as
caching which wants to know when the response has properly finished for
finishing a cache miss.
This change attempts to check if the stream has ended due to an h2 error
or not to forward a successful or Failed HTTPTask as appropriate.
|
|
|
|
|
|
|
|
explicit option
|
|
Allow frontends to avoid jumping through hoops to create an Opt object,
for example, when configuration is handled by a config file.
Includes-commit: 8204820b217b6d60906b8361d2e077ed743b970b
Replicated-from: https://github.com/cloudflare/pingora/pull/390
|
|
|
|
Co-authored-by: Harald Gutmann <[email protected]>
|
|
We have the socket version at 0, which matches 0.3 as well. That
wont work because it doesn't have feature "all". We need 0.4+.
>=0.4, <1, should match ^0, but exclude 0.3.
Includes-commit: 98debd9f2793a77047caebf2e70684eb7ef4df14
Replicated-from: https://github.com/cloudflare/pingora/pull/413
|
|
Co-authored-by: Matthew Gumport <[email protected]>
Includes-commit: 15e5c64ce46da5e061f2c84ce45cdddedf2f6058
Replicated-from: https://github.com/cloudflare/pingora/pull/415
|
|
Includes-commit: 5b5f2aeecf459f633b5459fffba4ad66da495a0a
Replicated-from: https://github.com/cloudflare/pingora/pull/429
|
|
This adds the into_inner() function to the stream type, allowing
the HTTP/1.1 client and server to be turned back into a stream.
These functions are useful for implementing HTTP CONNECT or
HTTP Upgrade.
Includes-commit: 95aa77098cdfc7667074f2793cd326f496da66a1
Replicated-from: https://github.com/cloudflare/pingora/pull/412
|
|
This change fixes an issue that the actual current max send streams is
ignored.
This change requires h2 >= 0.4.6
|
|
|
|
Co-authored-by: Harald Gutmann <[email protected]>
|
|
This allows h2c and http1 to co-exist on the same port.
|
|
|
|
---
Merge branch 'cloudflare:main' into original-dst
Co-authored-by: ermakov-oleg <[email protected]>
Includes-commit: a3f2affceb1fcc41742c72088f993e05600abd2f
Includes-commit: a73893b243b68108033ecda26b0d36939ad36891
Replicated-from: https://github.com/cloudflare/pingora/pull/387
|
|
|
|
Co-authored-by: Grvzard <[email protected]>
|
|
Co-authored-by: Fredrik Enestad <[email protected]>
|
|
|
|
This allows us to optionally enable rx timestamp reading logic per
stream by calling `set_rx_timestamp`. When rx timestamp is disabled, the
standard battle-tested logic is used.
|
|
Documentation: https://docs.kernel.org/networking/timestamping.html
This modifies Stream type to be able to setup rx timestamp on its
socket, and use `recvmsg` to read the returned timestamp. The rx
timestamp of the last recvmsg is stored as `rx_ts`
In the context of tcp stream, if the returned byte range spans multiple
timestamps, the last one is returned.
|
|
Per ~~~-5535: it is not safe to call SSL_select_next_proto()
with invalid alpn_in.
Although our code is safe because it is only used via set_alpn_select_callback
which performs the check, an additional guard is added just in case these functions
are used in other context.
|
|
server requests
|
|
|
|
Includes-commit: 9a934bc8baa4e8b05639f6aa71ca9695832986f0
Replicated-from: https://github.com/cloudflare/pingora/pull/360
|
|
Co-authored-by: Derek Argueta <[email protected]>
|
|
Includes-commit: 0560e0ff05481465e926766ba1d6791c12a96944
Replicated-from: https://github.com/cloudflare/pingora/pull/356
|
|
|
|
I was attempting to test upgrades on MacOS, and was a bit confused at the ECONNREFUSED error.
Having this log would help others avoiding troubleshooting this until it is supported.
Includes-commit: 6f80ce2f7a5dd97e174916d8efc4864366eca790
Replicated-from: https://github.com/cloudflare/pingora/pull/327
|
|
Co-authored-by: Fredrik Enestad <[email protected]>
|
|
integration
|
|
Allow this as an adjustable setting to preserve etag when
(de)compressing. The default is to weaken etags whenever a compression
module applies.
|
|
|
|
---
Added some more exports used by the server example
Includes-commit: d7be54bbb5c0c3465eef09d0545988b34b725f4f
Includes-commit: e36e6e719450bc445c383d501aacc02bff6695e5
Replicated-from: https://github.com/cloudflare/pingora/pull/277
|
|
|
|
---
Merge branch 'main' into compression-headers
---
Updated “compression enabled” check for recent changes
---
Fixed clippy warning
---
Reverted changes related to Accept-Ranges header
---
Handle multiple Vary headers
---
Merged main branch
Includes-commit: 4ea0c3ff10fad0a27f798dcdf3f797294af89d80
Includes-commit: 78f09b29d7a6f04b2647879855e91a3cf3744fb1
Includes-commit: 973d5969e4210b1a86e69e75d74caabb44109a8a
Includes-commit: 9f82578858e5ba167badc81cf347fb70bbf7f41a
Includes-commit: d6e94c93f1cdd9ca3ab8e3829d65af6f265ce627
Includes-commit: e88fdb8a3721bb38c476b0d825d271b013069df7
Includes-commit: f647f04bf1db2b63788a837a5ab5a6f3030d209e
Replicated-from: https://github.com/cloudflare/pingora/pull/286
|
|
|
|
Don't unconditionally unwrap Sentry, guard it with a default value.
|
|
This changes the Sentry field from the DSN string to the entire ClientOptions
struct. This will let us pass more information to the client SDK, including the
git-parsed version information.
|
|
---
also add port number
---
also print query with path for h2 just as h1
Includes-commit: 2df4e29e180f5e79bee04aa4b4d83536e9f7f3a4
Includes-commit: 53e1810a27de581f6d5a9606198d9ac443f4a63c
Includes-commit: 8102a0900bf30bf740e58c3a541bb86d296eb660
Replicated-from: https://github.com/cloudflare/pingora/pull/345
|