MCPcopy Create free account
hub / github.com/NativeScript/SimDeck / chrome_devtools_target_socket

Function chrome_devtools_target_socket

packages/server/src/api/routes.rs:1149–1175  ·  view source on GitHub ↗
(
    State(state): State<AppState>,
    Path((udid, target_id)): Path<(String, String)>,
    websocket: WebSocketUpgrade,
)

Source from the content-addressed store, hash-verified

1147}
1148
1149async fn chrome_devtools_target_socket(
1150 State(state): State<AppState>,
1151 Path((udid, target_id)): Path<(String, String)>,
1152 websocket: WebSocketUpgrade,
1153) -> Response {
1154 websocket.on_upgrade(move |socket| async move {
1155 if target_id.starts_with("metro-") || target_id.starts_with("cdp-") {
1156 match devtools::proxied_websocket_url_for_target(&target_id).await {
1157 Ok(upstream_url) => devtools::proxy_websocket(socket, upstream_url).await,
1158 Err(error) => {
1159 tracing::debug!(
1160 "Proxied DevTools target socket failed for {udid}/{target_id}: {error}"
1161 );
1162 }
1163 }
1164 } else {
1165 match chrome_devtools_socket_session(&state, &udid, &target_id).await {
1166 Ok((runtime, query)) => devtools::handle_socket(socket, runtime, query).await,
1167 Err(error) => {
1168 tracing::debug!(
1169 "Chrome DevTools target socket failed for {udid}/{target_id}: {error}"
1170 );
1171 }
1172 }
1173 }
1174 })
1175}
1176
1177async fn chrome_devtools_socket_session(
1178 state: &AppState,

Callers

nothing calls this directly

Calls 4

proxy_websocketFunction · 0.85
handle_socketFunction · 0.85

Tested by

no test coverage detected