@@ -37,16 +37,17 @@ impl WpComDotOrgApiUrlResolver {
3737
3838#[ uniffi:: export]
3939impl ApiUrlResolver for WpComDotOrgApiUrlResolver {
40+ fn can_resolve ( & self , namespace : String ) -> bool {
41+ WpNamespace :: iter ( ) . any ( |n| n. namespace_value ( ) == namespace)
42+ }
43+
4044 fn resolve ( & self , namespace : String , endpoint_segments : Vec < String > ) -> Arc < ParsedUrl > {
41- {
42- if !WpNamespace :: iter ( ) . any ( |n| n. namespace_value ( ) == namespace) {
43- panic ! (
44- "`WpComDotOrgApiUrlResolver` doesn't support the namespace `{}`. The supported namespaces are: {:?}" ,
45- namespace,
46- WpNamespace :: iter( )
47- ) ;
48- }
49- }
45+ assert ! (
46+ self . can_resolve( namespace. clone( ) ) ,
47+ "`WpComDotOrgApiUrlResolver` doesn't support the namespace `{}`. The supported namespaces are: {:?}" ,
48+ namespace,
49+ WpNamespace :: iter( )
50+ ) ;
5051
5152 // The API root endpoint needs special handling for WordPress.com
5253 if namespace == WpNamespace :: None . namespace_value ( ) && endpoint_segments. is_empty ( ) {
@@ -91,14 +92,15 @@ impl Default for WpComApiClientInternalUrlResolver {
9192}
9293
9394impl ApiUrlResolver for WpComApiClientInternalUrlResolver {
95+ fn can_resolve ( & self , namespace : String ) -> bool {
96+ !WpNamespace :: iter ( ) . any ( |n| n. namespace_value ( ) == namespace)
97+ }
98+
9499 fn resolve ( & self , namespace : String , endpoint_segments : Vec < String > ) -> Arc < ParsedUrl > {
95- {
96- if WpNamespace :: iter ( ) . any ( |n| n. namespace_value ( ) == namespace) {
97- panic ! (
98- "`WpComApiClient` doesn't support the namespace `{namespace}`. Try using `WpApiClient` instead." ,
99- ) ;
100- }
101- }
100+ assert ! (
101+ self . can_resolve( namespace. clone( ) ) ,
102+ "`WpComApiClient` doesn't support the namespace `{namespace}`. Try using `WpApiClient` instead." ,
103+ ) ;
102104 Arc :: new (
103105 self . base_url
104106 . by_extending_and_splitting_by_forward_slash (
0 commit comments