-
-
Notifications
You must be signed in to change notification settings - Fork 2
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
Changes to be committed: #10
Conversation
Reviewer's Guide by SourceryThis pull request introduces support for gRPC-web in Bongonet. It adds a new module to bridge gRPC-web requests to gRPC requests, allowing Bongonet to act as a proxy between gRPC-web clients and gRPC servers. The changes include new files for the gRPC-web bridge implementation, modifications to existing HTTP protocol handling, and updates to various documentation and examples. Additionally, there are widespread changes to update copyright notices and some minor refactoring and cleanup. Sequence DiagramsequenceDiagram
participant Client as gRPC-web Client
participant Bongonet as Bongonet Proxy
participant Server as gRPC Server
Client->>Bongonet: gRPC-web Request
Bongonet->>Bongonet: Convert to gRPC
Bongonet->>Server: gRPC Request
Server->>Bongonet: gRPC Response
Bongonet->>Bongonet: Convert to gRPC-web
Bongonet->>Client: gRPC-web Response
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have skipped reviewing this pull request. It seems to have been created by a bot (hey, khulnasoft-bot!). We assume it knows what it's doing!
PR Reviewer Guide 🔍
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
Signed-off-by: KhulnaSoft bot <[email protected]>
User description
Notes for Reviewers
This PR fixes #
Signed commits
PR Type
enhancement, documentation, formatting, configuration changes, dependencies, bug fix, tests, miscellaneous
Description
Changes walkthrough 📝
19 files
server.rs
Update copyright and test cases for new domain.
bongonet-core/src/protocols/http/v1/server.rs
bongonet.khulnasoft.com
.grpc_web.rs
Add gRPC-web bridging module with tests.
bongonet-core/src/protocols/http/bridge/grpc_web.rs
memory.rs
Support concurrent writers and streaming write tags in memory cache.
bongonet-cache/src/memory.rs
AtomicU64
for managing temporary object IDs.storage.rs
Enhance Storage trait with streaming write tag support.
bongonet-cache/src/storage.rs
Storage
trait.U64WriteId
andU32WriteId
for streaming writeidentification.
raw_connect.rs
Update test cases for new domain and improve import order.
bongonet-core/src/protocols/raw_connect.rs
bongonet.khulnasoft.com
.lib.rs
Improve cache lock tracing and handling of cache misses.
bongonet-cache/src/lib.rs
lock.rs
Enhance lock handling with better error logging.
bongonet-cache/src/lock.rs
lib.rs
Support END_STREAM flag in HTTP/2 requests.
bongonet-http/src/lib.rs
END_STREAM
flag in HTTP/2requests.
RequestHeader
to includesend_end_stream
functionality.grpc_web.rs
Introduce gRPC-web bridge module for HTTP.
bongonet-core/src/modules/http/grpc_web.rs
proxy_h2.rs
Support END_STREAM flag in HTTP/2 proxy headers.
bongonet-proxy/src/proxy_h2.rs
END_STREAM
flag in HTTP/2 headers.mod.rs
Add gRPC-web module and response trailer filtering.
bongonet-core/src/modules/http/mod.rs
grpc_web
module to HTTP modules.lib.rs
Handle response trailers and improve error handling.
bongonet-proxy/src/lib.rs
server.rs
Update test cases for new domain in TLS server.
bongonet-core/src/protocols/tls/boringssl_openssl/server.rs
bongonet.khulnasoft.com
.rate.rs
Add configurable estimator settings for Rate.
bongonet-limits/src/rate.rs
Rate
with configurable estimator settings.mod.rs
Add bridge module and update server name.
bongonet-core/src/protocols/http/mod.rs
bridge
module to HTTP protocols.cache_control.rs
Enhance directive value parsing in cache control.
bongonet-cache/src/cache_control.rs
server_utils.rs
Add cache hit filter for force expiry control.
bongonet-proxy/tests/utils/server_utils.rs
max_file_size.rs
Support streaming write tags in max file size handler.
bongonet-cache/src/max_file_size.rs
mod.rs
Introduce HTTP bridge module.
bongonet-core/src/protocols/http/bridge/mod.rs
23 files
grpc_web_module.rs
Add example for gRPC-web bridge module usage.
bongonet-proxy/examples/grpc_web_module.rs
proxy.
mod.rs
Add documentation for modules in bongonet.
bongonet-core/src/modules/mod.rs
quick_start.md
Improve formatting and readability in quick_start.md
docs/quick_start.md
phase.md
Improve formatting and readability in phase.md
docs/user_guide/phase.md
CHANGELOG.md
Update CHANGELOG with detailed entries for past versions
CHANGELOG.md
README.md
Enhance README formatting and add feature details
README.md
rate_limiter.md
Add RateLimiter quickstart guide with examples
docs/user_guide/rate_limiter.md
conf.md
Enhance formatting in configuration guide
docs/user_guide/conf.md
internals.md
Improve formatting and readability in internals.md
docs/user_guide/internals.md
index.md
Enhance formatting and structure in user guide index
docs/user_guide/index.md
failover.md
Improve formatting and readability in failover.md
docs/user_guide/failover.md
start_stop.md
Enhance formatting in start and stop guide
docs/user_guide/start_stop.md
error_log.md
Enhance formatting in error log guide
docs/user_guide/error_log.md
ctx.md
Improve formatting and readability in ctx.md
docs/user_guide/ctx.md
modify_filter.md
Improve formatting and readability in modify_filter.md
docs/user_guide/modify_filter.md
graceful.md
Improve formatting and readability in graceful.md
docs/user_guide/graceful.md
CONTRIBUTING.md
Enhance formatting in contributing guidelines
.github/CONTRIBUTING.md
errors.md
Improve formatting and readability in errors.md
docs/user_guide/errors.md
pooling.md
Improve formatting and readability in pooling.md
docs/user_guide/pooling.md
README.md
Improve formatting in docs README
docs/README.md
panic.md
Improve formatting in panic guide
docs/user_guide/panic.md
bug_report.md
Enhance formatting in bug report template
.github/ISSUE_TEMPLATE/bug_report.md
phase_chart.md
Improve formatting in phase_chart.md
docs/user_guide/phase_chart.md
2 files
test_upstream.rs
Add test for multiple streaming writers in cache.
bongonet-proxy/tests/test_upstream.rs
lib.rs
Adjust sleep durations in runtime tests.
bongonet-runtime/src/lib.rs
29 files
l4.rs
Improve import order in L4 listener module.
bongonet-core/src/listeners/l4.rs
v2.rs
Improve import order in HTTP/2 connector.
bongonet-core/src/connectors/http/v2.rs
mod.rs
Improve import order in connectors module.
bongonet-core/src/connectors/mod.rs
mod.rs
Improve import order in TLS listener module.
bongonet-core/src/listeners/tls/boringssl_openssl/mod.rs
client.rs
Improve import order in HTTP/2 client module.
bongonet-core/src/protocols/http/v2/client.rs
mod.rs
Improve import order in TLS connector module.
bongonet-core/src/connectors/tls/boringssl_openssl/mod.rs
http_app.rs
Improve import order in HTTP app module.
bongonet-core/src/apps/http_app.rs
l4.rs
Improve import order in L4 connector module.
bongonet-core/src/connectors/l4.rs
client.rs
Improve import order in HTTP/1.x client module.
bongonet-core/src/protocols/http/v1/client.rs
server.rs
Improve import order in HTTP server module.
bongonet-core/src/protocols/http/server.rs
mod.rs
Improve import order in test utilities.
bongonet-core/tests/utils/mod.rs
body.rs
Improve import order in HTTP/1.x body module.
bongonet-core/src/protocols/http/v1/body.rs
conditional_filter.rs
Improve import order in conditional filter module.
bongonet-core/src/protocols/http/conditional_filter.rs
server.rs
Improve import order in HTTP/2 server module.
bongonet-core/src/protocols/http/v2/server.rs
mod.rs
Improve import order in TLS module.
bongonet-core/src/protocols/tls/mod.rs
mod.rs
Improve import order in utils module.
bongonet-core/src/utils/mod.rs
ext.rs
Improve import order in L4 extension module.
bongonet-core/src/protocols/l4/ext.rs
mod.rs
Improve import order in server module.
bongonet-core/src/server/mod.rs
stream.rs
Improve import order in L4 stream module.
bongonet-core/src/protocols/l4/stream.rs
zstd.rs
Improve import order in Zstd compression module.
bongonet-core/src/protocols/http/compression/zstd.rs
listening.rs
Improve import order in listening service module.
bongonet-core/src/services/listening.rs
brotli.rs
Improve import order in Brotli compression module.
bongonet-core/src/protocols/http/compression/brotli.rs
load_balancer.rs
Improve import order in load balancer example.
bongonet-proxy/examples/load_balancer.rs
client.rs
Improve import order in HTTP client module.
bongonet-core/src/protocols/http/client.rs
gzip.rs
Improve import order in Gzip compression module.
bongonet-core/src/protocols/http/compression/gzip.rs
mod.rs
Improve import order in server configuration module.
bongonet-core/src/server/configuration/mod.rs
mod.rs
Improve import order in HTTP compression module.
bongonet-core/src/protocols/http/compression/mod.rs
common.rs
Improve import order in HTTP/1.x common module.
bongonet-core/src/protocols/http/v1/common.rs
error_resp.rs
Improve import order in error response module.
bongonet-core/src/protocols/http/error_resp.rs
108 files
peer.rs
Update copyright notice in upstream peer module.
bongonet-core/src/upstreams/peer.rs
boring_tokio.rs
Update copyright notice in boring_tokio module.
bongonet-boringssl/src/boring_tokio.rs
lru_serde.rs
Update copyright notice in lru_serde benchmark.
bongonet-cache/benches/lru_serde.rs
simple_lru_memory.rs
Update copyright notice in simple_lru_memory benchmark.
bongonet-cache/benches/simple_lru_memory.rs
simple_lru.rs
Update copyright notice in simple_lru eviction module.
bongonet-cache/src/eviction/simple_lru.rs
lru_memory.rs
Update copyright notice in lru_memory benchmark.
bongonet-cache/benches/lru_memory.rs
lru.rs
Update copyright notice in lru eviction module.
bongonet-cache/src/eviction/lru.rs
prometheus_http_app.rs
Update copyright notice in Prometheus HTTP app.
bongonet-core/src/apps/prometheus_http_app.rs
v1.rs
Update copyright notice in HTTP/1 connector.
bongonet-core/src/connectors/http/v1.rs
mod.rs
Update copyright notice in eviction module.
bongonet-cache/src/eviction/mod.rs
mod.rs
Update copyright notice in HTTP connectors module.
bongonet-core/src/connectors/http/mod.rs
offload.rs
Update copyright notice in offload connector.
bongonet-core/src/connectors/offload.rs
compression.rs
Update copyright notice in HTTP compression module.
bongonet-core/src/modules/http/compression.rs
ext.rs
Update copyright notice in BoringSSL extension module.
bongonet-boringssl/src/ext.rs
lib.rs
Update copyright notice in BoringSSL library.
bongonet-boringssl/src/lib.rs
hashtable.rs
Update copyright notice in hashtable module.
bongonet-cache/src/hashtable.rs
predictor.rs
Update copyright notice in predictor module.
bongonet-cache/src/predictor.rs
mod.rs
Update copyright notice in listeners module.
bongonet-core/src/listeners/mod.rs
filters.rs
Update copyright notice in filters module.
bongonet-cache/src/filters.rs
put.rs
Update copyright notice in put module.
bongonet-cache/src/put.rs
trace.rs
Update copyright notice in trace module.
bongonet-cache/src/trace.rs
mod.rs
Update copyright notice in apps module.
bongonet-core/src/apps/mod.rs
key.rs
Update copyright notice in key module.
bongonet-cache/src/key.rs
meta.rs
Update copyright notice in meta module.
bongonet-cache/src/meta.rs
lib.rs
Update copyright notice in core library.
bongonet-core/src/lib.rs
client.rs
Update copyright notice in TLS client module.
bongonet-core/src/protocols/tls/boringssl_openssl/client.rs
mod.rs
Update copyright notice in dummy TLS module.
bongonet-core/src/protocols/tls/dummy_tls/mod.rs
bench_linked_list.rs
Update copyright notice in linked list benchmark.
bongonet-lru/benches/bench_linked_list.rs
bench_lru.rs
Update copyright notice in LRU benchmark.
bongonet-lru/benches/bench_lru.rs
mod.rs
Update copyright notice in HTTP/1.x module.
bongonet-core/src/protocols/http/v1/mod.rs
mod.rs
Update copyright notice in HTTP/2 module.
bongonet-core/src/protocols/http/v2/mod.rs
listener.rs
Update copyright notice in L4 listener module.
bongonet-core/src/protocols/l4/listener.rs
digest.rs
Update copyright notice in TLS digest module.
bongonet-core/src/protocols/tls/digest.rs
algorithms.rs
Update copyright notice in selection algorithms module.
bongonet-load-balancing/src/selection/algorithms.rs
consistent.rs
Update copyright notice in consistent selection module.
bongonet-load-balancing/src/selection/consistent.rs
weighted.rs
Update copyright notice in weighted selection module.
bongonet-load-balancing/src/selection/weighted.rs
body_buffer.rs
Update copyright notice in HTTP body buffer module.
bongonet-core/src/protocols/http/body_buffer.rs
mod.rs
Update copyright notice in L4 module.
bongonet-core/src/protocols/l4/mod.rs
socket.rs
Update copyright notice in L4 socket module.
bongonet-core/src/protocols/l4/socket.rs
mod.rs
Update copyright notice in transfer_fd module.
bongonet-core/src/server/transfer_fd/mod.rs
thread_zstd.rs
Update copyright notice in thread_zstd module.
bongonet-header-serde/src/thread_zstd.rs
benchmark.rs
Update copyright notice in limits benchmark.
bongonet-limits/benches/benchmark.rs
health_check.rs
Update copyright notice in health check module.
bongonet-load-balancing/src/health_check.rs
mod.rs
Update copyright notice in selection module.
bongonet-load-balancing/src/selection/mod.rs
benchmark.rs
Update copyright notice in timeout benchmark.
bongonet-timeout/benches/benchmark.rs
bench_hit_ratio.rs
Update copyright notice in hit ratio benchmark.
tinyufo/benches/bench_hit_ratio.rs
digest.rs
Update copyright notice in digest module.
bongonet-core/src/protocols/digest.rs
date.rs
Update copyright notice in HTTP date module.
bongonet-core/src/protocols/http/date.rs
dict.rs
Update copyright notice in dict module.
bongonet-header-serde/src/dict.rs
trainer.rs
Update copyright notice in trainer module.
bongonet-header-serde/src/trainer.rs
case_header_name.rs
Update copyright notice in case header name module.
bongonet-http/src/case_header_name.rs
estimator.rs
Update copyright notice in estimator module.
bongonet-limits/src/estimator.rs
discovery.rs
Update copyright notice in discovery module.
bongonet-load-balancing/src/discovery.rs
linked_list.rs
Update copyright notice in linked list module.
bongonet-lru/src/linked_list.rs
proxy_h1.rs
Update copyright notice in HTTP/1 proxy module.
bongonet-proxy/src/proxy_h1.rs
proxy_purge.rs
Update copyright notice in proxy purge module.
bongonet-proxy/src/proxy_purge.rs
hello.rs
Update copyright notice in hello benchmark.
bongonet-runtime/benches/hello.rs
bench_memory.rs
Update copyright notice in memory benchmark.
tinyufo/benches/bench_memory.rs
bench_perf.rs
Update copyright notice in performance benchmark.
tinyufo/benches/bench_perf.rs
mod.rs
Update copyright notice in protocols module.
bongonet-core/src/protocols/mod.rs
daemon.rs
Fix copyright notice company name in daemon.rs
bongonet-core/src/server/daemon.rs
mod.rs
Fix copyright notice company name in tls/mod.rs
bongonet-core/src/tls/mod.rs
mod.rs
Fix copyright notice company name in upstreams/mod.rs
bongonet-core/src/upstreams/mod.rs
immut_str.rs
Fix copyright notice company name in immut_str.rs
bongonet-error/src/immut_str.rs
lib.rs
Fix copyright notice company name in header-serde/lib.rs
bongonet-header-serde/src/lib.rs
lib.rs
Fix copyright notice company name in ketama/lib.rs
bongonet-ketama/src/lib.rs
inflight.rs
Fix copyright notice company name in limits/inflight.rs
bongonet-limits/src/inflight.rs
background.rs
Fix copyright notice company name in load-balancing/background.rs
bongonet-load-balancing/src/background.rs
lib.rs
Fix copyright notice company name in load-balancing/lib.rs
bongonet-load-balancing/src/lib.rs
read_through.rs
Fix copyright notice company name in memory-cache/read_through.rs
bongonet-memory-cache/src/read_through.rs
lru.rs
Fix copyright notice company name in pool/lru.rs
bongonet-pool/src/lru.rs
modify_response.rs
Fix copyright notice company name in proxy/examples/modify_response.rs
bongonet-proxy/examples/modify_response.rs
multi_lb.rs
Fix copyright notice company name in proxy/examples/multi_lb.rs
bongonet-proxy/examples/multi_lb.rs
proxy_cache.rs
Fix copyright notice company name in proxy/src/proxy_cache.rs
bongonet-proxy/src/proxy_cache.rs
proxy_trait.rs
Fix copyright notice company name in proxy/src/proxy_trait.rs
bongonet-proxy/src/proxy_trait.rs
cert.rs
Fix copyright notice company name in proxy/tests/utils/cert.rs
bongonet-proxy/tests/utils/cert.rs
mock_origin.rs
Fix copyright notice company name in proxy/tests/utils/mock_origin.rs
bongonet-proxy/tests/utils/mock_origin.rs
fast_timeout.rs
Fix copyright notice company name in timeout/fast_timeout.rs
bongonet-timeout/src/fast_timeout.rs
timer.rs
Fix copyright notice company name in timeout/timer.rs
bongonet-timeout/src/timer.rs
background.rs
Fix copyright notice company name in services/background.rs
bongonet-core/src/services/background.rs
mod.rs
Fix copyright notice company name in services/mod.rs
bongonet-core/src/services/mod.rs
test_basic.rs
Fix copyright notice company name in core/tests/test_basic.rs
bongonet-core/tests/test_basic.rs
lib.rs
Fix copyright notice company name in limits/lib.rs
bongonet-limits/src/lib.rs
lib.rs
Fix copyright notice company name in lru/lib.rs
bongonet-lru/src/lib.rs
lib.rs
Fix copyright notice company name in memory-cache/lib.rs
bongonet-memory-cache/src/lib.rs
ext.rs
Fix copyright notice company name in openssl/ext.rs
bongonet-openssl/src/ext.rs
lib.rs
Fix copyright notice company name in openssl/lib.rs
bongonet-openssl/src/lib.rs
connection.rs
Fix copyright notice company name in pool/connection.rs
bongonet-pool/src/connection.rs
lib.rs
Fix copyright notice company name in pool/lib.rs
bongonet-pool/src/lib.rs
ctx.rs
Fix copyright notice company name in proxy/examples/ctx.rs
bongonet-proxy/examples/ctx.rs
use_module.rs
Fix copyright notice company name in proxy/examples/use_module.rs
bongonet-proxy/examples/use_module.rs
subrequest.rs
Fix copyright notice company name in proxy/src/subrequest.rs
bongonet-proxy/src/subrequest.rs
test_basic.rs
Fix copyright notice company name in proxy/tests/test_basic.rs
bongonet-proxy/tests/test_basic.rs
mod.rs
Fix copyright notice company name in proxy/tests/utils/mod.rs
bongonet-proxy/tests/utils/mod.rs
lib.rs
Fix copyright notice company name in timeout/lib.rs
bongonet-timeout/src/lib.rs
echo.rs
Fix copyright notice company name in examples/app/echo.rs
bongonet/examples/app/echo.rs
proxy.rs
Fix copyright notice company name in examples/app/proxy.rs
bongonet/examples/app/proxy.rs
echo.rs
Fix copyright notice company name in examples/service/echo.rs
bongonet/examples/service/echo.rs
proxy.rs
Fix copyright notice company name in examples/service/proxy.rs
bongonet/examples/service/proxy.rs
estimation.rs
Fix copyright notice company name in tinyufo/estimation.rs
tinyufo/src/estimation.rs
lib.rs
Fix copyright notice company name in error/lib.rs
bongonet-error/src/lib.rs
mod.rs
Fix copyright notice company name in examples/app/mod.rs
bongonet/examples/app/mod.rs
mod.rs
Fix copyright notice company name in examples/service/mod.rs
bongonet/examples/service/mod.rs
buckets.rs
Fix copyright notice company name in tinyufo/buckets.rs
tinyufo/src/buckets.rs
client.rs
Fix copyright notice company name in examples/client.rs
bongonet/examples/client.rs
server.rs
Fix copyright notice company name in examples/server.rs
bongonet/examples/server.rs
lib.rs
Fix copyright notice company name in src/lib.rs
bongonet/src/lib.rs
lib.rs
Fix copyright notice company name in tinyufo/lib.rs
tinyufo/src/lib.rs
1 files
gateway.rs
Fix metric name in gateway example.
bongonet-proxy/examples/gateway.rs
reg_counter
toreq_counter
.5 files
bongonet_conf.yaml
Add configuration file for bongonet tests.
bongonet-core/tests/bongonet_conf.yaml
build.yml
Update Rust toolchain and adjust build conditions
.github/workflows/build.yml
semgrep.yml
Add Semgrep analysis workflow for code scanning
.github/workflows/semgrep.yml
nginx.conf
Update Lua script in nginx configuration
bongonet-proxy/tests/utils/conf/origin/conf/nginx.conf
.bleep
Update hash value in .bleep
.bleep
17 files
Cargo.toml
Update authorship and formatting in proxy/Cargo.toml
bongonet-proxy/Cargo.toml
Cargo.toml
Update authorship and add dependency in cache/Cargo.toml
bongonet-cache/Cargo.toml
strum
for deriving features.Cargo.toml
Update authorship in boringssl/Cargo.toml
bongonet-boringssl/Cargo.toml
Cargo.toml
Update authorship in core/Cargo.toml
bongonet-core/Cargo.toml
Cargo.toml
Update authorship in tinyufo/Cargo.toml
tinyufo/Cargo.toml
Cargo.toml
Update authorship in header-serde/Cargo.toml
bongonet-header-serde/Cargo.toml
Cargo.toml
Update authorship in load-balancing/Cargo.toml
bongonet-load-balancing/Cargo.toml
Cargo.toml
Update authorship in lru/Cargo.toml
bongonet-lru/Cargo.toml
Cargo.toml
Update authorship in memory-cache/Cargo.toml
bongonet-memory-cache/Cargo.toml
Cargo.toml
Update authorship in openssl/Cargo.toml
bongonet-openssl/Cargo.toml
Cargo.toml
Update authorship in pool/Cargo.toml
bongonet-pool/Cargo.toml
Cargo.toml
Update authorship in timeout/Cargo.toml
bongonet-timeout/Cargo.toml
Cargo.toml
Update authorship in error/Cargo.toml
bongonet-error/Cargo.toml
Cargo.toml
Update authorship in http/Cargo.toml
bongonet-http/Cargo.toml
Cargo.toml
Update authorship in runtime/Cargo.toml
bongonet-runtime/Cargo.toml
Cargo.toml
Update authorship in limits/Cargo.toml
bongonet-limits/Cargo.toml
Cargo.toml
Update authorship in bongonet/Cargo.toml
bongonet/Cargo.toml