pub enum CompressionType {
None,
Gzip,
Deflate,
}Expand description
Compression middleware for reducing message size.
§Examples
use pmcp::shared::{CompressionMiddleware, AdvancedMiddleware, MiddlewareContext, CompressionType};
use pmcp::types::{JSONRPCRequest, RequestId};
let compression = CompressionMiddleware::new(CompressionType::Gzip, 1024);
let context = MiddlewareContext::default();
let mut request = JSONRPCRequest {
jsonrpc: "2.0".to_string(),
method: "resources.read".to_string(),
params: Some(serde_json::json!({"uri": "file:///large_file.json"})),
id: RequestId::from(101i64),
};
// Compresses request if over threshold
compression.on_request_with_context(&mut request, &context).await?;Variants§
Trait Implementations§
Source§impl Clone for CompressionType
impl Clone for CompressionType
Source§fn clone(&self) -> CompressionType
fn clone(&self) -> CompressionType
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for CompressionType
Auto Trait Implementations§
impl Freeze for CompressionType
impl RefUnwindSafe for CompressionType
impl Send for CompressionType
impl Sync for CompressionType
impl Unpin for CompressionType
impl UnsafeUnpin for CompressionType
impl UnwindSafe for CompressionType
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more