1pub mod app;
7pub mod client_hint;
8pub mod cors;
9pub mod entry_point;
10pub mod ext;
11pub mod header;
12pub mod http;
13pub mod language;
14pub mod mime_type;
15pub mod range;
16pub mod request;
17pub mod response;
18pub mod server;
19pub mod symbol;
20pub mod thread_pool;
21pub mod log;
22pub mod body;
23pub mod json;
24pub mod null;
25pub mod url;
26pub mod core;
27pub mod application;
28pub mod controller;
29
30
31use crate::app::App;
32use crate::server::Server;
33use crate::application::Application;
34use crate::core::New;
35
36pub fn start(app: impl Application + New + Send + 'static + Copy) {
37
38 let new_server = Server::setup();
39 if new_server.is_err() {
40 eprintln!("{}", new_server.as_ref().err().unwrap());
41 }
42
43
44 let (listener, pool) = new_server.unwrap();
45
46 Server::run(listener, pool, app);
47}
48
49pub fn start_server() {
50
51 let new_server = Server::setup();
52 if new_server.is_err() {
53 eprintln!("{}", new_server.as_ref().err().unwrap());
54 }
55
56
57 let (listener, pool) = new_server.unwrap();
58 let app = App::new();
59
60
61 Server::run(listener, pool, app);
62}
63