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

Commit

Permalink
feat(publish): better error msg on needs email verif
Browse files Browse the repository at this point in the history
  • Loading branch information
ashleygwilliams committed Oct 22, 2019
1 parent 80c9bfc commit 75d4a84
Showing 1 changed file with 32 additions and 6 deletions.
38 changes: 32 additions & 6 deletions src/commands/publish/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -91,12 +91,11 @@ fn build_and_publish_script(
.multipart(script_upload_form)
.send()?;

if !res.status().is_success() {
failure::bail!(
"Something went wrong! Status: {}, Details {}",
res.status(),
res.text()?
)
let res_status = res.status();
let res_text = res.text()?;

if !res_status.is_success() {
failure::bail!(error_msg(res_status, res_text))
}

let pattern = if target.route.is_some() {
Expand All @@ -118,6 +117,33 @@ fn build_and_publish_script(
Ok(())
}

fn error_msg(status: reqwest::StatusCode, text: String) -> String {
if text.contains("\"code\": 10034,") {
"You need to verify your account's email address before you can publish. You can do this by checking your email or logging in to https://dash.cloudflare.com.".to_string()
} else {
format!("Something went wrong! Status: {}, Details {}", status, text)
}
}

#[test]
fn fails_with_good_error_msg_on_verify_email_err() {
let status = reqwest::StatusCode::FORBIDDEN;
let text = r#"{
"result": null,
"success": false,
"errors": [
{
"code": 10034,
"message": "workers.api.error.email_verification_required"
}
],
"messages": []
}"#
.to_string();
let result = error_msg(status, text);
assert!(result.contains("https://dash.cloudflare.com"));
}

pub fn upload_buckets(
target: &Target,
user: &GlobalUser,
Expand Down

0 comments on commit 75d4a84

Please sign in to comment.