Struct Server

Source
pub struct Server { /* private fields */ }
Expand description

Represents an HTTP server.

This server listens for incoming HTTP requests, dispatches them to the correct handler based on the method and path, and sends back appropriate HTTP responses. It supports GET and POST routes.

The server is multi-threaded, handling each incoming connection in a new thread.

Implementations§

Source§

impl Server

Source

pub fn new() -> Self

Creates and initializes a new server instance.

§Returns

A new instance of Server with an empty route configuration.

Source

pub fn get<F>(&mut self, path: &str, handler: F)
where F: Fn(Option<Vec<u8>>) -> HttpResponse + Send + Sync + 'static,

Registers a GET route with a specified path and handler.

§Parameters
  • ‘path’ : The route path to register, e.g., ‘/home’.
  • ‘handler’ : The closure that processes the request for this path.
Source

pub fn post<F>(&mut self, path: &str, handler: F)
where F: Fn(Option<Vec<u8>>) -> HttpResponse + Send + Sync + 'static,

Registers a POST route with a specified path and handler.

§Parameters
  • ‘path’ : The route path to register, e.g., ‘/submit’.
  • ‘handler’ : The closure that processes the request for this path.
§Example
use guest_server::{Server,HttpResponse};
let mut server = Server::new();
server.post("/submit",submit);
fn submit(body: Option<Vec<u8>>) -> HttpResponse {
    HttpResponse::new(200, Some("{\"key\":\"value\"}".to_string())).insert_header("Content-Type","application/json")
}
server.listener(8080);
Source

pub fn listener(&self, port: u16)

Starts the server and listens for incoming connections on the specified port.

§Parameters
  • ‘port’ : The port number to listen on.

Auto Trait Implementations§

§

impl Freeze for Server

§

impl RefUnwindSafe for Server

§

impl Send for Server

§

impl Sync for Server

§

impl Unpin for Server

§

impl UnwindSafe for Server

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.