surrealdb_core/api/
context.rs

1use 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}