From bccfbde6218805796e4cd01265807ce3ea7cfc60 Mon Sep 17 00:00:00 2001 From: 007gzs <007gzs@gmail.com> Date: Sat, 27 Jul 2024 10:25:14 +0800 Subject: [PATCH] =?UTF-8?q?fix=20PluginHttpWrapper=20=E4=B8=AD=20Context?= =?UTF-8?q?=E7=9A=84=E5=9B=9E=E8=B0=83=E6=9C=AA=E4=BB=A3=E7=90=86=20.=20re?= =?UTF-8?q?quest-block=20case=5Fsensitive=20=E9=80=BB=E8=BE=91=E9=94=99?= =?UTF-8?q?=E8=AF=AF=20(#1146)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extensions/request-block/src/lib.rs | 4 +- plugins/wasm-rust/src/plugin_wrapper.rs | 38 ++++++++++++++++++- 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/plugins/wasm-rust/extensions/request-block/src/lib.rs b/plugins/wasm-rust/extensions/request-block/src/lib.rs index 5e1dec170..78daf6fd5 100644 --- a/plugins/wasm-rust/extensions/request-block/src/lib.rs +++ b/plugins/wasm-rust/extensions/request-block/src/lib.rs @@ -165,7 +165,7 @@ impl HttpContextWrapper for RquestBlock { } let mut request_url = value.unwrap().clone(); - if config.case_sensitive { + if !config.case_sensitive { request_url = request_url.to_lowercase(); } for block_exact_url in &config.block_exact_urls { @@ -229,7 +229,7 @@ impl HttpContextWrapper for RquestBlock { return Action::Continue; } let mut body = req_body.clone(); - if config.case_sensitive { + if !config.case_sensitive { body = body.to_ascii_lowercase(); } for block_body in &config.block_bodies { diff --git a/plugins/wasm-rust/src/plugin_wrapper.rs b/plugins/wasm-rust/src/plugin_wrapper.rs index bd431472d..8291d22e0 100644 --- a/plugins/wasm-rust/src/plugin_wrapper.rs +++ b/plugins/wasm-rust/src/plugin_wrapper.rs @@ -82,7 +82,43 @@ impl PluginHttpWrapper { } } } -impl Context for PluginHttpWrapper {} +impl Context for PluginHttpWrapper { + fn on_http_call_response( + &mut self, + token_id: u32, + num_headers: usize, + body_size: usize, + num_trailers: usize, + ) { + self.http_content + .on_http_call_response(token_id, num_headers, body_size, num_trailers) + } + + fn on_grpc_call_response(&mut self, token_id: u32, status_code: u32, response_size: usize) { + self.http_content + .on_grpc_call_response(token_id, status_code, response_size) + } + fn on_grpc_stream_initial_metadata(&mut self, token_id: u32, num_elements: u32) { + self.http_content + .on_grpc_stream_initial_metadata(token_id, num_elements) + } + fn on_grpc_stream_message(&mut self, token_id: u32, message_size: usize) { + self.http_content + .on_grpc_stream_message(token_id, message_size) + } + fn on_grpc_stream_trailing_metadata(&mut self, token_id: u32, num_elements: u32) { + self.http_content + .on_grpc_stream_trailing_metadata(token_id, num_elements) + } + fn on_grpc_stream_close(&mut self, token_id: u32, status_code: u32) { + self.http_content + .on_grpc_stream_close(token_id, status_code) + } + + fn on_done(&mut self) -> bool { + self.http_content.on_done() + } +} impl HttpContext for PluginHttpWrapper where PluginConfig: Default + DeserializeOwned + Clone,