@@ -15,8 +15,8 @@ use encoding::EncodingRef;
15
15
use encoding:: all:: UTF_8 ;
16
16
17
17
use super :: {
18
- ParseResult , URL , RelativeSchemeData , OtherSchemeData ,
19
- SchemeRelativeURL , UserInfo , Host , Domain ,
18
+ ParseResult , Url , RelativeSchemeData , OtherSchemeData ,
19
+ SchemeRelativeUrl , UserInfo , Host , Domain ,
20
20
utf8_percent_encode, percent_encode_byte,
21
21
SimpleEncodeSet , DefaultEncodeSet , UserInfoEncodeSet } ;
22
22
@@ -40,7 +40,7 @@ fn parse_error(_message: &str) {
40
40
}
41
41
42
42
43
- pub fn parse_url ( input : & str , base_url : Option < & URL > ) -> ParseResult < URL > {
43
+ pub fn parse_url ( input : & str , base_url : Option < & Url > ) -> ParseResult < Url > {
44
44
let input = input. trim_chars ( & & [ ' ' , '\t' , '\n' , '\r' , '\x0C' ] ) ;
45
45
let ( scheme_result, remaining) = parse_scheme ( input) ;
46
46
match scheme_result {
@@ -52,9 +52,9 @@ pub fn parse_url(input: &str, base_url: Option<&URL>) -> ParseResult<URL> {
52
52
parse_error ( "Relative URL with a scheme" ) ;
53
53
parse_relative_url ( scheme, remaining, base)
54
54
} ,
55
- _ => parse_relative_url ( scheme, remaining, & URL {
55
+ _ => parse_relative_url ( scheme, remaining, & Url {
56
56
scheme: ~"", query : None , fragment : None ,
57
- scheme_data : RelativeSchemeData ( SchemeRelativeURL {
57
+ scheme_data : RelativeSchemeData ( SchemeRelativeUrl {
58
58
userinfo : None , host : Domain ( ~[ ] ) , port: ~"", path : ~[ ]
59
59
} )
60
60
} ) ,
@@ -76,7 +76,7 @@ pub fn parse_url(input: &str, base_url: Option<&URL>) -> ParseResult<URL> {
76
76
// Scheme data state
77
77
let ( scheme_data, remaining) = parse_scheme_data ( remaining) ;
78
78
let ( query, fragment) = parse_query_and_fragment ( remaining) ;
79
- Ok ( URL { scheme : scheme, scheme_data : OtherSchemeData ( scheme_data) ,
79
+ Ok ( Url { scheme : scheme, scheme_data : OtherSchemeData ( scheme_data) ,
80
80
query : query, fragment : fragment } )
81
81
}
82
82
} ,
@@ -109,7 +109,7 @@ fn parse_scheme<'a>(input: &'a str) -> (Option<~str>, &'a str) {
109
109
}
110
110
111
111
112
- fn parse_absolute_url < ' a > ( scheme : ~str , input : & ' a str ) -> ParseResult < URL > {
112
+ fn parse_absolute_url < ' a > ( scheme : ~str , input : & ' a str ) -> ParseResult < Url > {
113
113
// Authority first slash state
114
114
let remaining = skip_slashes ( input) ;
115
115
// Authority state
@@ -123,17 +123,17 @@ fn parse_absolute_url<'a>(scheme: ~str, input: &'a str) -> ParseResult<URL> {
123
123
remaining,
124
124
/* full_url= */ true ,
125
125
/* in_file_scheme= */ false ) ;
126
- let scheme_data = RelativeSchemeData ( SchemeRelativeURL { userinfo : userinfo, host : host, port : port, path : path } ) ;
126
+ let scheme_data = RelativeSchemeData ( SchemeRelativeUrl { userinfo : userinfo, host : host, port : port, path : path } ) ;
127
127
let ( query, fragment) = parse_query_and_fragment ( remaining) ;
128
- Ok ( URL { scheme : scheme, scheme_data : scheme_data, query : query, fragment : fragment } )
128
+ Ok ( Url { scheme : scheme, scheme_data : scheme_data, query : query, fragment : fragment } )
129
129
}
130
130
131
131
132
- fn parse_relative_url < ' a > ( scheme : ~str , input : & ' a str , base : & URL ) -> ParseResult < URL > {
132
+ fn parse_relative_url < ' a > ( scheme : ~str , input : & ' a str , base : & Url ) -> ParseResult < Url > {
133
133
match base. scheme_data {
134
134
OtherSchemeData ( _) => Err ( "Relative URL with a non-relative-scheme base" ) ,
135
135
RelativeSchemeData ( ref base_scheme_data) => if input. is_empty ( ) {
136
- Ok ( URL { scheme : scheme, scheme_data : base. scheme_data . clone ( ) ,
136
+ Ok ( Url { scheme : scheme, scheme_data : base. scheme_data . clone ( ) ,
137
137
query : base. query . clone ( ) , fragment : None } )
138
138
} else {
139
139
let in_file_scheme = scheme. as_slice ( ) == "file" ;
@@ -160,10 +160,10 @@ fn parse_relative_url<'a>(scheme: ~str, input: &'a str, base: &URL) -> ParseResu
160
160
} ;
161
161
let ( path, remaining) = parse_path_start (
162
162
remaining, /* full_url= */ true , in_file_scheme) ;
163
- let scheme_data = RelativeSchemeData ( SchemeRelativeURL {
163
+ let scheme_data = RelativeSchemeData ( SchemeRelativeUrl {
164
164
userinfo : None , host : host, port: ~"", path : path } ) ;
165
165
let ( query, fragment) = parse_query_and_fragment ( remaining) ;
166
- Ok ( URL { scheme : scheme, scheme_data : scheme_data,
166
+ Ok ( Url { scheme : scheme, scheme_data : scheme_data,
167
167
query : query, fragment : fragment } )
168
168
} else {
169
169
parse_absolute_url ( scheme, input)
@@ -173,29 +173,29 @@ fn parse_relative_url<'a>(scheme: ~str, input: &'a str, base: &URL) -> ParseResu
173
173
let ( path, remaining) = parse_path (
174
174
~[ ] , input. slice_from ( 1 ) , /* full_url= */ true , in_file_scheme) ;
175
175
let scheme_data = RelativeSchemeData ( if in_file_scheme {
176
- SchemeRelativeURL {
176
+ SchemeRelativeUrl {
177
177
userinfo : None , host : Domain ( ~[ ] ) , port: ~"", path : path
178
178
}
179
179
} else {
180
- SchemeRelativeURL {
180
+ SchemeRelativeUrl {
181
181
userinfo : base_scheme_data. userinfo . clone ( ) ,
182
182
host : base_scheme_data. host . clone ( ) ,
183
183
port : base_scheme_data. port . clone ( ) ,
184
184
path : path
185
185
}
186
186
} ) ;
187
187
let ( query, fragment) = parse_query_and_fragment ( remaining) ;
188
- Ok ( URL { scheme : scheme, scheme_data : scheme_data,
188
+ Ok ( Url { scheme : scheme, scheme_data : scheme_data,
189
189
query : query, fragment : fragment } )
190
190
}
191
191
} ,
192
192
'?' => {
193
193
let ( query, fragment) = parse_query_and_fragment ( input) ;
194
- Ok ( URL { scheme : scheme, scheme_data : base. scheme_data . clone ( ) ,
194
+ Ok ( Url { scheme : scheme, scheme_data : base. scheme_data . clone ( ) ,
195
195
query : query, fragment : fragment } )
196
196
} ,
197
197
'#' => {
198
- Ok ( URL { scheme : scheme, scheme_data : base. scheme_data . clone ( ) ,
198
+ Ok ( Url { scheme : scheme, scheme_data : base. scheme_data . clone ( ) ,
199
199
query : base. query . clone ( ) ,
200
200
fragment : Some ( parse_fragment ( input. slice_from ( 1 ) ) ) } )
201
201
}
@@ -210,7 +210,7 @@ fn parse_relative_url<'a>(scheme: ~str, input: &'a str, base: &URL) -> ParseResu
210
210
// Windows drive letter quirk
211
211
let ( path, remaining) = parse_path (
212
212
~[ ] , input, /* full_url= */ true , in_file_scheme) ;
213
- ( RelativeSchemeData ( SchemeRelativeURL {
213
+ ( RelativeSchemeData ( SchemeRelativeUrl {
214
214
userinfo : None ,
215
215
host : Domain ( ~[ ] ) ,
216
216
port: ~"",
@@ -222,15 +222,15 @@ fn parse_relative_url<'a>(scheme: ~str, input: &'a str, base: &URL) -> ParseResu
222
222
// Relative path state
223
223
let ( path, remaining) = parse_path (
224
224
initial_path, input, /* full_url= */ true , in_file_scheme) ;
225
- ( RelativeSchemeData ( SchemeRelativeURL {
225
+ ( RelativeSchemeData ( SchemeRelativeUrl {
226
226
userinfo : base_scheme_data. userinfo . clone ( ) ,
227
227
host : base_scheme_data. host . clone ( ) ,
228
228
port : base_scheme_data. port . clone ( ) ,
229
229
path : path
230
230
} ) , remaining)
231
231
} ;
232
232
let ( query, fragment) = parse_query_and_fragment ( remaining) ;
233
- Ok ( URL { scheme : scheme, scheme_data : scheme_data,
233
+ Ok ( Url { scheme : scheme, scheme_data : scheme_data,
234
234
query : query, fragment : fragment } )
235
235
}
236
236
}
@@ -557,7 +557,7 @@ fn parse_query_and_fragment(input: &str) -> (Option<~str>, Option<~str>) {
557
557
'?' => {
558
558
let ( query, remaining) = parse_query (
559
559
input. slice_from ( 1 ) ,
560
- UTF_8 as EncodingRef ,
560
+ UTF_8 as EncodingRef , // TODO
561
561
/* full_url = */ true ) ;
562
562
( Some ( query) , remaining. map ( parse_fragment) )
563
563
} ,
0 commit comments