reifydb-sub-server-http 0.9.3

HTTP server subsystem for ReifyDB using Axum
Documentation
// SPDX-License-Identifier: Apache-2.0
// Copyright (c) 2026 ReifyDB

use std::ops::Deref;

use reifydb_core::actors::server::ServerMessage;
use reifydb_runtime::actor::{mailbox::ActorRef, system::ActorHandle};
use reifydb_sub_server::state::AppState;

#[derive(Clone)]
pub struct HttpServerState {
	state: AppState,
}

impl HttpServerState {
	pub fn new(state: AppState) -> Self {
		Self {
			state,
		}
	}

	pub fn state(&self) -> &AppState {
		&self.state
	}

	pub fn spawn_actor(&self) -> (ActorRef<ServerMessage>, ActorHandle<ServerMessage>) {
		self.state.spawn_server_actor()
	}
}

impl Deref for HttpServerState {
	type Target = AppState;

	fn deref(&self) -> &Self::Target {
		&self.state
	}
}