MCPcopy Index your code
hub / github.com/NativeScript/SimDeck / chrome_devtools_targets

Function chrome_devtools_targets

packages/server/src/api/routes.rs:1080–1147  ·  view source on GitHub ↗
(
    State(state): State<AppState>,
    Path(udid): Path<String>,
    headers: HeaderMap,
)

Source from the content-addressed store, hash-verified

1078}
1079
1080async fn chrome_devtools_targets(
1081 State(state): State<AppState>,
1082 Path(udid): Path<String>,
1083 headers: HeaderMap,
1084) -> Result<Json<devtools::ChromeDevToolsTargetDiscovery>, AppError> {
1085 let origin = request_origin(&headers);
1086 let mut warnings = Vec::new();
1087 let simulator = match list_simulators_cached(state.clone(), false).await {
1088 Ok(simulators) => simulators
1089 .into_iter()
1090 .find(|simulator| simulator.udid == udid),
1091 Err(error) => {
1092 warnings.push(format!(
1093 "Unable to load simulator metadata for DevTools discovery: {error}"
1094 ));
1095 None
1096 }
1097 };
1098 let foreground_app_future = timeout(
1099 FOREGROUND_APP_ROUTE_TIMEOUT,
1100 foreground_app_for_simulator_with_cache_ttl(
1101 &state,
1102 &udid,
1103 INSPECTOR_FOREGROUND_APP_CACHE_TTL,
1104 ),
1105 );
1106 let external_targets_future = timeout(
1107 CHROME_DEVTOOLS_DISCOVERY_TIMEOUT,
1108 devtools::discover_external_devtools_targets(
1109 &udid,
1110 origin.as_deref(),
1111 Some(&state.config.access_token),
1112 simulator.as_ref().map(|simulator| simulator.name.as_str()),
1113 simulator
1114 .as_ref()
1115 .map(|simulator| simulator.device_type_name.as_str()),
1116 ),
1117 );
1118 let (foreground_app_result, external_targets_result) =
1119 tokio::join!(foreground_app_future, external_targets_future);
1120 let foreground_app = match foreground_app_result {
1121 Ok(Ok(foreground_app)) => foreground_app,
1122 Ok(Err(error)) => {
1123 tracing::debug!("Unable to load foreground app for DevTools discovery: {error}");
1124 stale_cached_foreground_app(&udid)
1125 }
1126 Err(_) => {
1127 tracing::debug!("Timed out loading foreground app for DevTools discovery.");
1128 stale_cached_foreground_app(&udid)
1129 }
1130 };
1131 let (mut external_targets, external_warnings) = match external_targets_result {
1132 Ok(result) => result,
1133 Err(_) => {
1134 warnings.push("Timed out loading Chrome DevTools targets.".to_owned());
1135 (Vec::new(), Vec::new())
1136 }
1137 };

Callers

nothing calls this directly

Calls 8

request_originFunction · 0.85
list_simulators_cachedFunction · 0.85
cloneMethod · 0.65
appendMethod · 0.65
as_strMethod · 0.45

Tested by

no test coverage detected