Replace unwraps with expect, explaining the situation

This commit is contained in:
Marcin Kulik
2026-07-26 20:37:03 +00:00
parent a7d33677da
commit fbc6d16bc9
3 changed files with 17 additions and 5 deletions

View File

@@ -103,7 +103,10 @@ pub async fn create_recording(
let legacy_fallback = (response.status().as_u16() == 413)
.then(|| "The recording exceeds the server-configured size limit".to_owned());
let server_hostname = server_url.host().unwrap().to_string();
let server_hostname = server_url
.host()
.expect("host presence is checked in parse_server_url")
.to_string();
let response = handle_response_status(response, &server_hostname, legacy_fallback).await?;
Ok(response.json::<RecordingResponse>().await?)
@@ -236,7 +239,10 @@ async fn parse_stream_response<T: DeserializeOwned>(
response: Response,
server_url: &Url,
) -> Result<T> {
let server_hostname = server_url.host().unwrap().to_string();
let server_hostname = server_url
.host()
.expect("host presence is checked in parse_server_url")
.to_string();
let legacy_fallback = match response.status().as_u16() {
404 | 422 => Some(format!("{server_hostname} doesn't support streaming")),

View File

@@ -8,7 +8,9 @@ impl cli::Auth {
pub fn run(self) -> Result<()> {
let mut config = Config::new(self.server_url.clone())?;
let server_url = config.get_server_url()?;
let server_hostname = server_url.host().unwrap();
let server_hostname = server_url
.host()
.expect("host presence is checked in parse_server_url");
let auth_url = api::get_auth_url(&mut config)?;
println!("Open the following URL in a web browser to authenticate this CLI with your {server_hostname} user account:\n");

View File

@@ -200,7 +200,11 @@ async fn send_command(
}
fn make_header(metadata: &Metadata) -> asciicast::Header {
let timestamp = metadata.time.duration_since(UNIX_EPOCH).unwrap().as_secs();
let timestamp = metadata
.time
.duration_since(UNIX_EPOCH)
.ok()
.map(|d| d.as_secs());
asciicast::Header {
term_cols: metadata.term.size.0,
@@ -208,7 +212,7 @@ fn make_header(metadata: &Metadata) -> asciicast::Header {
term_type: metadata.term.type_.clone(),
term_version: metadata.term.version.clone(),
term_theme: metadata.term.theme.clone(),
timestamp: Some(timestamp),
timestamp,
idle_time_limit: metadata.idle_time_limit,
command: metadata.command.clone(),
title: metadata.title.clone(),