@@ -49,56 +49,54 @@ impl UrlPattern {
4949 }
5050
5151 let init: :: urlpattern:: UrlPatternInit = match input {
52- Some ( input) => match input {
53- UrlPatternInput :: String ( input) => {
54- :: urlpattern:: UrlPatternInit :: parse_constructor_string :: < regex:: Regex > (
55- input. as_str ( ) ,
56- base_url,
57- )
58- . map_err ( Error ) ?
59- }
60- UrlPatternInput :: Init ( init) => :: urlpattern:: UrlPatternInit {
61- protocol : init
62- . get_item ( "protocol" ) ?
63- . map ( |v| v. extract :: < String > ( ) )
64- . transpose ( ) ?,
65- username : init
66- . get_item ( "username" ) ?
67- . map ( |v| v. extract :: < String > ( ) )
68- . transpose ( ) ?,
69- password : init
70- . get_item ( "password" ) ?
71- . map ( |v| v. extract :: < String > ( ) )
72- . transpose ( ) ?,
73- hostname : init
74- . get_item ( "hostname" ) ?
75- . map ( |v| v. extract :: < String > ( ) )
76- . transpose ( ) ?,
77- port : init
78- . get_item ( "port" ) ?
79- . map ( |v| v. extract :: < String > ( ) )
80- . transpose ( ) ?,
81- pathname : init
82- . get_item ( "pathname" ) ?
83- . map ( |v| v. extract :: < String > ( ) )
84- . transpose ( ) ?,
85- search : init
86- . get_item ( "search" ) ?
87- . map ( |v| v. extract :: < String > ( ) )
88- . transpose ( ) ?,
89- hash : init
90- . get_item ( "hash" ) ?
91- . map ( |v| v. extract :: < String > ( ) )
92- . transpose ( ) ?,
93- base_url : init
94- . get_item ( "baseURL" ) ?
95- . map ( |v| v. extract :: < String > ( ) )
96- . transpose ( ) ?
97- . map ( |v| v. parse :: < url:: Url > ( ) )
98- . transpose ( )
99- . map_err ( :: urlpattern:: Error :: Url )
100- . map_err ( Error ) ?,
101- } ,
52+ Some ( UrlPatternInput :: String ( input) ) => {
53+ :: urlpattern:: UrlPatternInit :: parse_constructor_string :: < regex:: Regex > (
54+ input. as_str ( ) ,
55+ base_url,
56+ )
57+ . map_err ( Error ) ?
58+ }
59+ Some ( UrlPatternInput :: Init ( init) ) => :: urlpattern:: UrlPatternInit {
60+ protocol : init
61+ . get_item ( "protocol" ) ?
62+ . map ( |v| v. extract :: < String > ( ) )
63+ . transpose ( ) ?,
64+ username : init
65+ . get_item ( "username" ) ?
66+ . map ( |v| v. extract :: < String > ( ) )
67+ . transpose ( ) ?,
68+ password : init
69+ . get_item ( "password" ) ?
70+ . map ( |v| v. extract :: < String > ( ) )
71+ . transpose ( ) ?,
72+ hostname : init
73+ . get_item ( "hostname" ) ?
74+ . map ( |v| v. extract :: < String > ( ) )
75+ . transpose ( ) ?,
76+ port : init
77+ . get_item ( "port" ) ?
78+ . map ( |v| v. extract :: < String > ( ) )
79+ . transpose ( ) ?,
80+ pathname : init
81+ . get_item ( "pathname" ) ?
82+ . map ( |v| v. extract :: < String > ( ) )
83+ . transpose ( ) ?,
84+ search : init
85+ . get_item ( "search" ) ?
86+ . map ( |v| v. extract :: < String > ( ) )
87+ . transpose ( ) ?,
88+ hash : init
89+ . get_item ( "hash" ) ?
90+ . map ( |v| v. extract :: < String > ( ) )
91+ . transpose ( ) ?,
92+ base_url : init
93+ . get_item ( "baseURL" ) ?
94+ . map ( |v| v. extract :: < String > ( ) )
95+ . transpose ( ) ?
96+ . map ( |v| v. parse :: < url:: Url > ( ) )
97+ . transpose ( )
98+ . map_err ( :: urlpattern:: Error :: Url )
99+ . map_err ( Error ) ?,
102100 } ,
103101 None => :: urlpattern:: UrlPatternInit :: default ( ) ,
104102 } ;
@@ -139,79 +137,75 @@ impl UrlPattern {
139137 let base_url = baseURL;
140138
141139 let input: :: urlpattern:: UrlPatternMatchInput = match input {
142- Some ( input) => match input {
143- UrlPatternInput :: String ( input) => match base_url {
144- Some ( base_url) => {
145- let base_url = match url:: Url :: parse ( base_url) {
140+ Some ( UrlPatternInput :: String ( input) ) => match base_url {
141+ Some ( base_url) => {
142+ let base_url = match url:: Url :: parse ( base_url) {
143+ Ok ( url) => url,
144+ Err ( _) => return Ok ( false ) ,
145+ } ;
146+ :: urlpattern:: UrlPatternMatchInput :: Url (
147+ match url:: Url :: options ( )
148+ . base_url ( Some ( & base_url) )
149+ . parse ( input. as_ref ( ) )
150+ {
146151 Ok ( url) => url,
147152 Err ( _) => return Ok ( false ) ,
148- } ;
149- :: urlpattern:: UrlPatternMatchInput :: Url (
150- match url:: Url :: options ( )
151- . base_url ( Some ( & base_url) )
152- . parse ( input. as_ref ( ) )
153- {
154- Ok ( url) => url,
155- Err ( _) => return Ok ( false ) ,
156- } ,
157- )
158- }
159- None => {
160- :: urlpattern:: UrlPatternMatchInput :: Url ( match input. parse :: < url:: Url > ( ) {
161- Ok ( url) => url,
162- Err ( _) => return Ok ( false ) ,
163- } )
164- }
165- } ,
166- UrlPatternInput :: Init ( init) => {
167- if base_url. is_some ( ) {
168- return Err ( PyTypeError :: new_err ( "cannot use dict input with baseURL" ) ) ;
169- }
170-
171- :: urlpattern:: UrlPatternMatchInput :: Init ( :: urlpattern:: UrlPatternInit {
172- protocol : init
173- . get_item ( "protocol" ) ?
174- . map ( |v| v. extract :: < String > ( ) )
175- . transpose ( ) ?,
176- username : init
177- . get_item ( "username" ) ?
178- . map ( |v| v. extract :: < String > ( ) )
179- . transpose ( ) ?,
180- password : init
181- . get_item ( "password" ) ?
182- . map ( |v| v. extract :: < String > ( ) )
183- . transpose ( ) ?,
184- hostname : init
185- . get_item ( "hostname" ) ?
186- . map ( |v| v. extract :: < String > ( ) )
187- . transpose ( ) ?,
188- port : init
189- . get_item ( "port" ) ?
190- . map ( |v| v. extract :: < String > ( ) )
191- . transpose ( ) ?,
192- pathname : init
193- . get_item ( "pathname" ) ?
194- . map ( |v| v. extract :: < String > ( ) )
195- . transpose ( ) ?,
196- search : init
197- . get_item ( "search" ) ?
198- . map ( |v| v. extract :: < String > ( ) )
199- . transpose ( ) ?,
200- hash : init
201- . get_item ( "hash" ) ?
202- . map ( |v| v. extract :: < String > ( ) )
203- . transpose ( ) ?,
204- base_url : init
205- . get_item ( "baseURL" ) ?
206- . map ( |v| v. extract :: < String > ( ) )
207- . transpose ( ) ?
208- . map ( |v| v. parse :: < url:: Url > ( ) )
209- . transpose ( )
210- . map_err ( :: urlpattern:: Error :: Url )
211- . map_err ( Error ) ?,
212- } )
153+ } ,
154+ )
213155 }
156+ None => :: urlpattern:: UrlPatternMatchInput :: Url ( match input. parse :: < url:: Url > ( ) {
157+ Ok ( url) => url,
158+ Err ( _) => return Ok ( false ) ,
159+ } ) ,
214160 } ,
161+ Some ( UrlPatternInput :: Init ( init) ) => {
162+ if base_url. is_some ( ) {
163+ return Err ( PyTypeError :: new_err ( "cannot use dict input with baseURL" ) ) ;
164+ }
165+
166+ :: urlpattern:: UrlPatternMatchInput :: Init ( :: urlpattern:: UrlPatternInit {
167+ protocol : init
168+ . get_item ( "protocol" ) ?
169+ . map ( |v| v. extract :: < String > ( ) )
170+ . transpose ( ) ?,
171+ username : init
172+ . get_item ( "username" ) ?
173+ . map ( |v| v. extract :: < String > ( ) )
174+ . transpose ( ) ?,
175+ password : init
176+ . get_item ( "password" ) ?
177+ . map ( |v| v. extract :: < String > ( ) )
178+ . transpose ( ) ?,
179+ hostname : init
180+ . get_item ( "hostname" ) ?
181+ . map ( |v| v. extract :: < String > ( ) )
182+ . transpose ( ) ?,
183+ port : init
184+ . get_item ( "port" ) ?
185+ . map ( |v| v. extract :: < String > ( ) )
186+ . transpose ( ) ?,
187+ pathname : init
188+ . get_item ( "pathname" ) ?
189+ . map ( |v| v. extract :: < String > ( ) )
190+ . transpose ( ) ?,
191+ search : init
192+ . get_item ( "search" ) ?
193+ . map ( |v| v. extract :: < String > ( ) )
194+ . transpose ( ) ?,
195+ hash : init
196+ . get_item ( "hash" ) ?
197+ . map ( |v| v. extract :: < String > ( ) )
198+ . transpose ( ) ?,
199+ base_url : init
200+ . get_item ( "baseURL" ) ?
201+ . map ( |v| v. extract :: < String > ( ) )
202+ . transpose ( ) ?
203+ . map ( |v| v. parse :: < url:: Url > ( ) )
204+ . transpose ( )
205+ . map_err ( :: urlpattern:: Error :: Url )
206+ . map_err ( Error ) ?,
207+ } )
208+ }
215209 None => {
216210 :: urlpattern:: UrlPatternMatchInput :: Init ( :: urlpattern:: UrlPatternInit :: default ( ) )
217211 }
@@ -230,79 +224,75 @@ impl UrlPattern {
230224
231225 let urlpattern_input: Option < UrlPatternInput > = input. map ( |i| i. extract ( ) ) . transpose ( ) ?;
232226 let input: :: urlpattern:: UrlPatternMatchInput = match & urlpattern_input {
233- Some ( input) => match input {
234- UrlPatternInput :: String ( input) => match base_url {
235- Some ( base_url) => {
236- let base_url = match url:: Url :: parse ( base_url. to_str ( ) ?) {
227+ Some ( UrlPatternInput :: String ( input) ) => match base_url {
228+ Some ( base_url) => {
229+ let base_url = match url:: Url :: parse ( base_url. to_str ( ) ?) {
230+ Ok ( url) => url,
231+ Err ( _) => return Ok ( None ) ,
232+ } ;
233+ :: urlpattern:: UrlPatternMatchInput :: Url (
234+ match url:: Url :: options ( )
235+ . base_url ( Some ( & base_url) )
236+ . parse ( input. as_ref ( ) )
237+ {
237238 Ok ( url) => url,
238239 Err ( _) => return Ok ( None ) ,
239- } ;
240- :: urlpattern:: UrlPatternMatchInput :: Url (
241- match url:: Url :: options ( )
242- . base_url ( Some ( & base_url) )
243- . parse ( input. as_ref ( ) )
244- {
245- Ok ( url) => url,
246- Err ( _) => return Ok ( None ) ,
247- } ,
248- )
249- }
250- None => {
251- :: urlpattern:: UrlPatternMatchInput :: Url ( match input. parse :: < url:: Url > ( ) {
252- Ok ( url) => url,
253- Err ( _) => return Ok ( None ) ,
254- } )
255- }
256- } ,
257- UrlPatternInput :: Init ( init) => {
258- if baseURL. is_some ( ) {
259- return Err ( PyTypeError :: new_err ( "cannot use dict input with baseURL" ) ) ;
260- }
261-
262- :: urlpattern:: UrlPatternMatchInput :: Init ( :: urlpattern:: UrlPatternInit {
263- protocol : init
264- . get_item ( "protocol" ) ?
265- . map ( |v| v. extract :: < String > ( ) )
266- . transpose ( ) ?,
267- username : init
268- . get_item ( "username" ) ?
269- . map ( |v| v. extract :: < String > ( ) )
270- . transpose ( ) ?,
271- password : init
272- . get_item ( "password" ) ?
273- . map ( |v| v. extract :: < String > ( ) )
274- . transpose ( ) ?,
275- hostname : init
276- . get_item ( "hostname" ) ?
277- . map ( |v| v. extract :: < String > ( ) )
278- . transpose ( ) ?,
279- port : init
280- . get_item ( "port" ) ?
281- . map ( |v| v. extract :: < String > ( ) )
282- . transpose ( ) ?,
283- pathname : init
284- . get_item ( "pathname" ) ?
285- . map ( |v| v. extract :: < String > ( ) )
286- . transpose ( ) ?,
287- search : init
288- . get_item ( "search" ) ?
289- . map ( |v| v. extract :: < String > ( ) )
290- . transpose ( ) ?,
291- hash : init
292- . get_item ( "hash" ) ?
293- . map ( |v| v. extract :: < String > ( ) )
294- . transpose ( ) ?,
295- base_url : init
296- . get_item ( "baseURL" ) ?
297- . map ( |v| v. extract :: < String > ( ) )
298- . transpose ( ) ?
299- . map ( |v| v. parse :: < url:: Url > ( ) )
300- . transpose ( )
301- . map_err ( :: urlpattern:: Error :: Url )
302- . map_err ( Error ) ?,
303- } )
240+ } ,
241+ )
304242 }
243+ None => :: urlpattern:: UrlPatternMatchInput :: Url ( match input. parse :: < url:: Url > ( ) {
244+ Ok ( url) => url,
245+ Err ( _) => return Ok ( None ) ,
246+ } ) ,
305247 } ,
248+ Some ( UrlPatternInput :: Init ( init) ) => {
249+ if baseURL. is_some ( ) {
250+ return Err ( PyTypeError :: new_err ( "cannot use dict input with baseURL" ) ) ;
251+ }
252+
253+ :: urlpattern:: UrlPatternMatchInput :: Init ( :: urlpattern:: UrlPatternInit {
254+ protocol : init
255+ . get_item ( "protocol" ) ?
256+ . map ( |v| v. extract :: < String > ( ) )
257+ . transpose ( ) ?,
258+ username : init
259+ . get_item ( "username" ) ?
260+ . map ( |v| v. extract :: < String > ( ) )
261+ . transpose ( ) ?,
262+ password : init
263+ . get_item ( "password" ) ?
264+ . map ( |v| v. extract :: < String > ( ) )
265+ . transpose ( ) ?,
266+ hostname : init
267+ . get_item ( "hostname" ) ?
268+ . map ( |v| v. extract :: < String > ( ) )
269+ . transpose ( ) ?,
270+ port : init
271+ . get_item ( "port" ) ?
272+ . map ( |v| v. extract :: < String > ( ) )
273+ . transpose ( ) ?,
274+ pathname : init
275+ . get_item ( "pathname" ) ?
276+ . map ( |v| v. extract :: < String > ( ) )
277+ . transpose ( ) ?,
278+ search : init
279+ . get_item ( "search" ) ?
280+ . map ( |v| v. extract :: < String > ( ) )
281+ . transpose ( ) ?,
282+ hash : init
283+ . get_item ( "hash" ) ?
284+ . map ( |v| v. extract :: < String > ( ) )
285+ . transpose ( ) ?,
286+ base_url : init
287+ . get_item ( "baseURL" ) ?
288+ . map ( |v| v. extract :: < String > ( ) )
289+ . transpose ( ) ?
290+ . map ( |v| v. parse :: < url:: Url > ( ) )
291+ . transpose ( )
292+ . map_err ( :: urlpattern:: Error :: Url )
293+ . map_err ( Error ) ?,
294+ } )
295+ }
306296 None => {
307297 :: urlpattern:: UrlPatternMatchInput :: Init ( :: urlpattern:: UrlPatternInit :: default ( ) )
308298 }
0 commit comments