Skip to content
This repository has been archived by the owner on Aug 3, 2023. It is now read-only.

Commit

Permalink
wip connect to edge websocket
Browse files Browse the repository at this point in the history
  • Loading branch information
EverlastingBugstopper committed May 19, 2020
1 parent a0ea034 commit cd14794
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 6 deletions.
23 changes: 18 additions & 5 deletions src/commands/dev/edge/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ mod setup;
use server::serve;
use setup::Init;

use crate::commands::dev::ServerConfig;
use crate::commands::dev::{socket, ServerConfig};
use crate::settings::global_user::GlobalUser;
use crate::settings::toml::{DeployConfig, Target};

Expand All @@ -20,9 +20,22 @@ pub fn dev(
let mut target = target.clone();

// TODO: replace asset manifest parameter
let preview_token =
setup::upload(&mut target, None, &deploy_config, &user, init.preview_token)?;
let server = serve(server_config, preview_token, init.host);
let preview_token = setup::upload(
&mut target,
None,
&deploy_config,
&user,
init.preview_token.clone(),
)?;
let mut runtime = TokioRuntime::new()?;
runtime.block_on(server)
runtime.block_on(async {
let devtools_listener = tokio::spawn(socket::listen(init.websocket_url));
let server = tokio::spawn(serve(server_config, preview_token, init.host));
let res = tokio::try_join!(async { devtools_listener.await? }, async { server.await? });

match res {
Ok(_) => Ok(()),
Err(e) => Err(e),
}
})
}
7 changes: 6 additions & 1 deletion src/commands/dev/edge/setup.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ pub(super) fn upload(
Ok(response.result.preview_token)
}

#[derive(Debug, Clone)]
pub struct Init {
pub host: String,
pub websocket_url: Url,
Expand Down Expand Up @@ -72,7 +73,11 @@ impl Init {
let response = client.get(exchange_url).send()?.error_for_status()?;
let text = &response.text()?;
let response: InspectorV4ApiResponse = serde_json::from_str(text)?;
let websocket_url = Url::parse(&response.inspector_websocket)?;
let full_url = format!(
"{}?{}={}",
&response.inspector_websocket, "cf_workers_preview_token", &response.token
);
let websocket_url = Url::parse(&full_url)?;
let preview_token = response.token;

Ok(Init {
Expand Down

0 comments on commit cd14794

Please sign in to comment.