summaryrefslogtreecommitdiff
path: root/runtime/inspector.rs
diff options
context:
space:
mode:
authorLiam Perlaki <lperlaki@icloud.com>2021-01-03 21:31:52 +0100
committerGitHub <noreply@github.com>2021-01-03 21:31:52 +0100
commit1a2e7741c33490d2a91147966019853c6b1d6a48 (patch)
treee9e4a645e05d4df780c8f65ff29bb5f7f8d6f7ae /runtime/inspector.rs
parent0a509152d16e42f3957a9b2286d5877321d0e331 (diff)
fix(inspector): add back list endpoint (#8894)
This commit adds back "/json/list" endpoint to inspector server which was erroneously removed during server rewrite. Co-authored-by: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'runtime/inspector.rs')
-rw-r--r--runtime/inspector.rs34
1 files changed, 19 insertions, 15 deletions
diff --git a/runtime/inspector.rs b/runtime/inspector.rs
index 58df05c54..befaaebee 100644
--- a/runtime/inspector.rs
+++ b/runtime/inspector.rs
@@ -182,20 +182,21 @@ fn handle_ws_request(
.status(http::StatusCode::BAD_REQUEST)
.body("Not a valid Websocket Request".into()),
});
- tokio::task::spawn_local(async move {
- let upgraded = body.on_upgrade().await.unwrap();
- let websocket = tokio_tungstenite::WebSocketStream::from_raw_socket(
- upgraded,
- tungstenite::protocol::Role::Server,
- None,
- )
- .await;
- let (proxy, pump) = create_websocket_proxy(websocket);
-
- let _ = new_websocket_tx.unbounded_send(proxy);
- pump.await;
- });
+ if resp.is_ok() {
+ tokio::task::spawn_local(async move {
+ let upgraded = body.on_upgrade().await.unwrap();
+ let websocket = tokio_tungstenite::WebSocketStream::from_raw_socket(
+ upgraded,
+ tungstenite::protocol::Role::Server,
+ None,
+ )
+ .await;
+ let (proxy, pump) = create_websocket_proxy(websocket);
+ let _ = new_websocket_tx.unbounded_send(proxy);
+ pump.await;
+ });
+ }
resp
} else {
http::Response::builder()
@@ -275,11 +276,14 @@ async fn server(
(&http::Method::GET, path) if path.starts_with("/ws/") => {
handle_ws_request(req, inspector_map.clone())
}
+ (&http::Method::GET, "/json/version") => {
+ handle_json_version_request(json_version_response.clone())
+ }
(&http::Method::GET, "/json") => {
handle_json_request(inspector_map.clone())
}
- (&http::Method::GET, "/json/version") => {
- handle_json_version_request(json_version_response.clone())
+ (&http::Method::GET, "/json/list") => {
+ handle_json_request(inspector_map.clone())
}
_ => http::Response::builder()
.status(http::StatusCode::NOT_FOUND)