1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
extern crate serde_json; use cloudflare::endpoints::workers::{DeleteRoute, ListRoutes}; use cloudflare::framework::apiclient::ApiClient; use crate::http; use crate::settings::global_user::GlobalUser; use crate::terminal::message::{Message, StdOut}; pub fn list(zone_identifier: String, user: &GlobalUser) -> Result<(), failure::Error> { let client = http::cf_v4_client(user)?; let result = client.request(&ListRoutes { zone_identifier: &zone_identifier, }); match result { Ok(success) => { let routes = success.result; println!("{}", serde_json::to_string(&routes)?); } Err(e) => failure::bail!("{}", http::format_error(e, None)), } Ok(()) } pub fn delete( zone_identifier: String, user: &GlobalUser, route_id: &str, ) -> Result<(), failure::Error> { let client = http::cf_v4_client(user)?; let result = client.request(&DeleteRoute { zone_identifier: &zone_identifier, identifier: route_id, }); match result { Ok(success) => { let msg = format!("Successfully deleted route with id {}", success.result.id); StdOut::success(&msg); } Err(e) => failure::bail!("{}", http::format_error(e, Some(&error_suggestions))), } Ok(()) } fn error_suggestions(code: u16) -> &'static str { match code { 10005 => "Confirm the route id by running `wrangler route list`", _ => "", } }