MCPcopy Create free account
hub / github.com/actix/examples / main

Function main

http-proxy/src/main.rs:125–161  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

123
124#[actix_web::main]
125async fn main() -> io::Result<()> {
126 env_logger::init_from_env(env_logger::Env::new().default_filter_or("info"));
127
128 let args = CliArguments::parse();
129
130 let forward_socket_addr = (args.forward_addr, args.forward_port)
131 .to_socket_addrs()?
132 .next()
133 .expect("given forwarding address was not valid");
134
135 let forward_url = format!("http://{forward_socket_addr}");
136 let forward_url = Url::parse(&forward_url).unwrap();
137
138 log::info!(
139 "starting HTTP server at http://{}:{}",
140 args.listen_addr,
141 args.listen_port
142 );
143
144 log::info!("forwarding to {forward_url}");
145
146 let reqwest_client = reqwest::Client::default();
147
148 HttpServer::new(move || {
149 App::new()
150 .app_data(web::Data::new(Client::default()))
151 .app_data(web::Data::new(reqwest_client.clone()))
152 .app_data(web::Data::new(forward_url.clone()))
153 .wrap(middleware::Logger::default())
154 .service(web::scope(REQWEST_PREFIX).default_service(web::to(forward_reqwest)))
155 .default_service(web::to(forward))
156 })
157 .bind((args.listen_addr, args.listen_port))?
158 .workers(2)
159 .run()
160 .await
161}

Callers

nothing calls this directly

Calls 1

runMethod · 0.80

Tested by

no test coverage detected