mirror of
https://gitlab.com/futo-org/fcast.git
synced 2025-07-31 14:27:01 +00:00
terminal: handle ipv6 addressed correctly when formatting URLs
This commit is contained in:
parent
c5259ee07f
commit
1cd91f91e9
1 changed files with 7 additions and 3 deletions
|
@ -247,7 +247,6 @@ fn run() -> Result<(), Box<dyn std::error::Error>> {
|
||||||
let url = result.0;
|
let url = result.0;
|
||||||
join_handle = Some(result.1);
|
join_handle = Some(result.1);
|
||||||
|
|
||||||
//TODO: Make this work
|
|
||||||
PlayMessage::new(
|
PlayMessage::new(
|
||||||
mime_type,
|
mime_type,
|
||||||
Some(url),
|
Some(url),
|
||||||
|
@ -366,8 +365,13 @@ impl ServerState {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn host_file_and_get_url(local_ip: &IpAddr, file_path: &str, mime_type: &String, running: &Arc<AtomicBool>) -> Result<(String, thread::JoinHandle<Result<(), String>>), String> {
|
fn host_file_and_get_url(local_ip: &IpAddr, file_path: &str, mime_type: &String, running: &Arc<AtomicBool>) -> Result<(String, thread::JoinHandle<Result<(), String>>), String> {
|
||||||
|
let local_ip_str = if local_ip.is_ipv6() {
|
||||||
|
format!("[{}]", local_ip)
|
||||||
|
} else {
|
||||||
|
format!("{}", local_ip)
|
||||||
|
};
|
||||||
let server = {
|
let server = {
|
||||||
let this = Server::http(format!("{}:0", local_ip));
|
let this = Server::http(format!("{local_ip_str}:0"));
|
||||||
match this {
|
match this {
|
||||||
Ok(t) => Ok(t),
|
Ok(t) => Ok(t),
|
||||||
Err(e) => Err((|e| format!("Failed to create server: {}", e))(e)),
|
Err(e) => Err((|e| format!("Failed to create server: {}", e))(e)),
|
||||||
|
@ -375,7 +379,7 @@ fn host_file_and_get_url(local_ip: &IpAddr, file_path: &str, mime_type: &String,
|
||||||
}?;
|
}?;
|
||||||
|
|
||||||
let url = match server.server_addr() {
|
let url = match server.server_addr() {
|
||||||
ListenAddr::IP(addr) => format!("http://{}:{}/", local_ip, addr.port()),
|
ListenAddr::IP(addr) => format!("http://{local_ip_str}:{}/", addr.port()),
|
||||||
#[cfg(unix)]
|
#[cfg(unix)]
|
||||||
ListenAddr::Unix(_) => return Err("Unix socket addresses are not supported.".to_string()),
|
ListenAddr::Unix(_) => return Err("Unix socket addresses are not supported.".to_string()),
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue