aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2024-05-10Release 0.2.00.2.0Yuchen Wu
2024-05-10Fix clipper warning on Rust 1.78Yuchen Wu
2024-05-10cargo fmtKevin Guthrie
2024-05-10Add `Service<HttpProxy<T>>` constructor for providing nameJames Munns
Includes-commit: 8727b2466f9a11aec6c5386c61c51ce54946b962 Replicated-from: https://github.com/cloudflare/pingora/pull/218
2024-05-10Add upstream_response_trailer_filter reference to user guideAndrew Hauck
2024-05-10Add purge_response callbackewang
Allow generating custom responses to purge requests (requests to invalidate or delete from the HTTP cache).
2024-05-10Make `pop_closed` pub, to simplify DIY drainsBenjamin Leggett
Includes-commit: 069a792c91c19b1ad01b2a151a74242aec901ce6 Replicated-from: https://github.com/cloudflare/pingora/pull/209 Signed-off-by: Benjamin Leggett <[email protected]>
2024-05-10Always return HttpTask::Body on body done instead of HttpTask::doneAndrew Hauck
2024-05-10parse and send HTTP/1 reason phraseYuchen Wu
This change allows customized HTTP1 reason phrase to be used and proxied.
2024-05-10finish zip todoAlex Severin
Includes-commit: 68a91966421910f47b4a3159619fb9c2cabdf240 Replicated-from: https://github.com/cloudflare/pingora/pull/214
2024-05-10unzip map itemsAlex Severin
Includes-commit: db64afd0a38e55f6684931cd2b00307df877510a Replicated-from: https://github.com/cloudflare/pingora/pull/216
2024-05-10Add async_cleanup() method to ServerApp traityaohuiming
--- Refactor cleanup functions to use async/await Includes-commit: 3cd52fee465e955e8ccfb98826cf4976ca284304 Includes-commit: 58946a8d586155875678eef163ad1a60882bc959 Replicated-from: https://github.com/cloudflare/pingora/pull/193
2024-04-26Fix non linux buildAndrew Hauck
2024-04-26Update zstd-safe to 7.1.0 and zstd to 0.13.1 in pingora-header-serdeJohan Planchon
Includes-commit: 0026a572a7849c7a43f89629b36ce9d4cb287cb5 Replicated-from: https://github.com/cloudflare/pingora/pull/197
2024-04-26Splitting out the daemon group_id type for MacOs and FreeBsdKevin Guthrie
2024-04-26Fix build on FreeBSD.Yonas
Define `group_id` in the pingora-core's server daemon on FreeBSD. --- Merge branch 'cloudflare:main' into yonas-~~~ Co-authored-by: Yonas Yanfa <[email protected]> Includes-commit: 30ee1e8bd4cad26d435029a3f33ae0f2e51e2e41 Includes-commit: df9f2da7bd5a3f0f21a59f199de97b564d0b6629 Replicated-from: https://github.com/cloudflare/pingora/pull/28
2024-04-26Add support for downstream h2 trailers and add an upstream h2 response ↵Andrew Hauck
trailer filter
2024-04-26Add the ability to set TCP recv buf sizeYuchen Wu
2024-04-26docs: add build requirements to README.mdShane Utt
Includes-commit: ba75f36b3963a5cc6fb02f518c283baf58d43c4d Replicated-from: https://github.com/cloudflare/pingora/pull/7
2024-04-26Vary examplesGustav Davidsson
2024-04-22Add a convenience function to retrieve Session digestewang
2024-04-22Add body_bytes_read() method to Sessionewang
Add an API to retrieve request body bytes read so far.
2024-04-22fix tinylfu test flakeMatthew Gumport
The TinyLFU test was failing for changes unrelated to anything in the tinyufo crate. This changes the test to stop that! What was occurring was expected behavior, so the test is what's changing instead of any internal logic. What was happening were hash collisions in the bloom filter used by the estimator. Instead of asserting that we'd always start counting from 0, we now allow for this in the test by `get()`ing first, then comparing relative values. For the final comparisons, we check that values are greater-than or equal-to their lower bound as determined by the number of `incr()`s we called on their keys.
2024-04-22lru: using max to simplify the if statementXiaobo Liu
Includes-commit: 6d2613d254688435a9417440fa251467ea6115f8 Replicated-from: https://github.com/cloudflare/pingora/pull/130 Signed-off-by: Xiaobo Liu <[email protected]>
2024-04-22add edition to `.rustfmt.toml`Matthew Gumport
My editor was defaulting to using the 2015 edition of the parser since that's the default for an unset edition in fmt file. This fixes that by specifying that we want to use the same edition for formatting that we do everywhere else.
2024-04-22address string interpolation outside of proper contextMatthew Gumport
https://github.com/cloudflare/pingora/issues/181 Ran: ``` rg --pcre2 '(?<!(trace\!\()|(println\!\()|(warn\!\()|(info\!\()|(debug\!\()|(format\!\()|(error\!\()|(write\!\()|(panic\!\())\".*\{.+\"' ``` and audited the 200+ results by hand. Only messed up in a few places! Hat-tip to Kevin for helping me understand the compile error messages I was seeing trying to fix this naively.
2024-04-22Fix #186 Expose Bucket to prevent compile error in Rust <= 1.73Kevin Guthrie
2024-04-22Replace `splitn(2)` with `split_once`Yesterday17
--- Do not trim value Includes-commit: 7431d244023f5841ce2ad1c9ced9199b21e48e81 Includes-commit: fdf61307a302cbe62b6f11193f6a65f341bcea37 Replicated-from: https://github.com/cloudflare/pingora/pull/177
2024-04-22Fix the counting problem of `used_weight` data field in `LruUnit<T>`JiajunDu
https://github.com/cloudflare/pingora/issues/164 Includes-commit: af11b964e8392ab17b414674211a0b596499418d Replicated-from: https://github.com/cloudflare/pingora/pull/174 Signed-off-by: JiajunDu <[email protected]>
2024-04-22feat: Change Server::run_forever to take ownership and ensure exit semanticsgengteng
Includes-commit: b83da0f03e870d6674718a8e86b637cda5295ad9 Replicated-from: https://github.com/cloudflare/pingora/pull/176
2024-04-22refactor: estimator::Estimator::newatamakahere
--- refactor: estimator::Estimator::reset --- test: add test for Estimator::Reset --- refactor: use iter in estimator Includes-commit: 052d825fcc3757356e6d5aac3f27cab5803241f2 Includes-commit: 3f730eb4d7da9aa1371b5bfb3bc6f13ac0facf9c Includes-commit: b2fec3cc512d5490c29a822d07dad063bb402d9f Includes-commit: d1906805e82b2ef41e81abba5741fdb9e709a4f0 Replicated-from: https://github.com/cloudflare/pingora/pull/16
2024-04-12fix cargo run --example server, missing certY.Shing
Includes-commit: 63f144be6649c70f9c0741f8ed3f87d9e7e3678c Replicated-from: https://github.com/cloudflare/pingora/pull/116
2024-04-12Add tls upstream support for SSLKEYLOG to allow decryption of traffic for ↵Andrew Hauck
debugging purposes
2024-04-12RUSTSEC-2024-0332: bump h2Yuchen Wu
2024-04-12Add cache_not_modified_filter, handle etag/last-modifiedewang
This filter allows customizing the `ETag`/`Last-Modified` check to see if the proxy cache can return 304 Not Modified instead of the full response. Also flesh out the `ETag`/`Last-Modified` handling in the base `not_modified_filter` with `If-None-Match` and `If-Modified-Since`.
2024-04-05Adding 0.1.1 changelogKevin Guthrie
2024-04-05Add/polish some commentsGustav Davidsson
2024-04-05Clarify cache-control regex commentsewang
Also update a few comment links for the newest HTTP RFCs.
2024-04-05Fix typos and grammar issues in docsYuchen Wu
And other things. Co-authored-by: DimanNe <[email protected]> Co-authored-by: Xiaobo Liu <[email protected]> Co-authored-by: houseme <[email protected]> Co-authored-by: lilo <[email protected]> Co-authored-by: Yang He <[email protected]>
2024-04-05Add the doc configuration that enables the nice docs about detailing which ↵Kevin Guthrie
things are available on which features
2024-04-05Add ServerConf::merge_with_opt for when Opt/ServerConf are used togetherewang
2024-04-05Add doc comments for unstable fields in ServerConfewang
2024-04-05Expose currently pub(crate) configuration options, provide new Server ↵James Munns
constructor --- Also expose the Version field Includes-commit: acbc9e533b98b405e5ea7ef63fa83adc3ee94c76 Includes-commit: d8fb7dbe7558f32376b167e809932601c3bae40f Replicated-from: https://github.com/cloudflare/pingora/pull/165
2024-04-05Only compile pingora-openssl when openssl feature is enabled.afon
Replicated-from: https://github.com/cloudflare/pingora/pull/131 Includes-commit: ae706cdf49324f6f871b2bfd712f01f07b1dfed0
2024-04-05Fix voldemort types in public interfaceBenjamin Halsted
The `Fds` struct used in `ListenFds` in the `pingora::services::Service` trait is not nameable. See https://rust-lang.github.io/rfcs/2145-type-privacy.html#~~~-voldemort-types-its-reachable-but-i-cant-name-it This change makes both `ListenFds` and `Fds` public. As a side-effect all of the methods on `Fds` are now public as well but are not documented. Fixes: https://github.com/cloudflare/pingora/issues/145 Replicated-from: https://github.com/cloudflare/pingora/pull/146 Includes-commit: 6f835a357b448c35362cf2197a1160c72505d2dd
2024-04-05bleeper: ignore DockerfileMatthew Gumport
2024-04-05Add config for grace period and graceful shutdown timeoutHiroaki Nakamura
--- test: initialize ServerConf with added new fields Replicated-from: https://github.com/cloudflare/pingora/pull/99 Includes-commit: f0dc59aeae3f66d50b6a46215abb9fa6424fffd5 Includes-commit: c37e63bdbea0938b05ebd365926982fbbce10ad1
2024-04-05Allow response body to be modified.Yuchen Wu
2024-04-05Add example that routes to LB cluster based on request uriAndrew Hauck
2024-04-05Use escape_default() and limit the buffer size for InvalidHTTPHeader errors ↵Andrew Hauck
when reading requests