(
State(state): State<AppState>,
Path((udid, target_id)): Path<(String, String)>,
websocket: WebSocketUpgrade,
)
| 1147 | } |
| 1148 | |
| 1149 | async 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 | |
| 1177 | async fn chrome_devtools_socket_session( |
| 1178 | state: &AppState, |
nothing calls this directly
no test coverage detected