surrealdb_core/api/
context.rs1use http::HeaderMap;
2
3use crate::{
4 err::Error,
5 sql::{Bytesize, Duration},
6};
7
8use super::middleware::{invoke::InvokeMiddleware, CollectedMiddleware};
9
10#[derive(Default, Debug)]
11pub struct InvocationContext {
12 pub request_body_max: Option<Bytesize>,
13 pub request_body_raw: bool,
14 pub response_body_raw: bool,
15 pub response_headers: Option<HeaderMap>,
16 pub timeout: Option<Duration>,
17}
18
19impl InvocationContext {
20 pub fn apply_middleware<'a>(
21 &'a mut self,
22 middleware: CollectedMiddleware<'a>,
23 ) -> Result<(), Error> {
24 for entry in middleware {
25 entry.invoke(self)?;
26 }
27
28 Ok(())
29 }
30}