MCPcopy Create free account
hub / github.com/PerroEngine/Perro / handle_http_connection

Function handle_http_connection

perro_source/devtools/perro_cli/src/project.rs:1234–1275  ·  view source on GitHub ↗
(mut stream: TcpStream, root: &Path)

Source from the content-addressed store, hash-verified

1232 status.code()
1233 ));
1234 }
1235 Ok(())
1236}
1237
1238fn ensure_cargo_apk_installed() -> Result<(), String> {
1239 let status = Command::new("cargo").arg("apk").arg("--help").status();
1240 if status.as_ref().is_ok_and(|status| status.success()) {
1241 return Ok(());
1242 }
1243
1244 log_note("Installing cargo-apk");
1245 let install_status = Command::new("cargo")
1246 .arg("install")
1247 .arg("cargo-apk")
1248 .arg("--locked")
1249 .status()
1250 .map_err(|err| format!("failed to run `cargo install cargo-apk --locked`: {err}"))?;
1251 if !install_status.success() {
1252 return Err(format!(
1253 "`cargo install cargo-apk --locked` failed with exit code {:?}",
1254 install_status.code()
1255 ));
1256 }
1257 Ok(())
1258}
1259
1260fn run_android_project(
1261 project_dir: &Path,
1262 android: &AndroidToolchain,
1263 release: bool,
1264) -> Result<(), String> {
1265 let project_crate = project_dir.join(".perro").join("project");
1266 let target_dir = project_dir.join("target");
1267 let mut cmd = Command::new("cargo");
1268 cmd.arg("apk")
1269 .arg("run")
1270 .arg("--lib")
1271 .arg("--target")
1272 .arg("aarch64-linux-android")
1273 .env("CARGO_TARGET_DIR", &target_dir)
1274 .env("ANDROID_SDK_ROOT", &android.sdk_root)
1275 .env("ANDROID_HOME", &android.sdk_root)
1276 .env("ANDROID_NDK_ROOT", &android.ndk_root)
1277 .env("ANDROID_NDK_HOME", &android.ndk_root)
1278 .env("NDK_HOME", &android.ndk_root)

Callers 1

run_static_serverFunction · 0.85

Calls 7

write_http_responseFunction · 0.85
content_type_for_pathFunction · 0.85
joinMethod · 0.80
rel_to_pathFunction · 0.70
readMethod · 0.45
nextMethod · 0.45
is_emptyMethod · 0.45

Tested by

no test coverage detected