pub fn extensions_mut(&mut self) -> &mut Extensions {
        &mut self.extensions
    }
Returns a mutable reference to the associated extensions.

# Example

Extensions can be set in interceptors:

```no_run
use tonic::{Request, Status};

#[derive(Clone)] // Extensions must be Clone
struct MyExtension {
some_piece_of_data: String,
}

fn intercept(mut request: Request<()>) -> Result<Request<()>, Status> {
request.extensions_mut().insert(MyExtension {
some_piece_of_data: "foo".to_string(),
});

Ok(request)
}
```

And picked up by RPCs:

```no_run
use tonic::{async_trait, Status, Request, Response};
#
# struct Output {}
# struct Input;
# struct MyService;
# struct MyExtension;
# #[async_trait]
# trait TestService {
#     async fn handler(&self, req: Request<Input>) -> Result<Response<Output>, Status>;
# }

#[async_trait]
impl TestService for MyService {
async fn handler(&self, req: Request<Input>) -> Result<Response<Output>, Status> {
let value: &MyExtension = req.extensions().get::<MyExtension>().unwrap();

Ok(Response::new(Output {}))
}
}
```
tonic/src/request.rs