File tree Expand file tree Collapse file tree 5 files changed +14
-10
lines changed Expand file tree Collapse file tree 5 files changed +14
-10
lines changed Original file line number Diff line number Diff line change @@ -35,7 +35,7 @@ class Url {
35
35
std::string url;
36
36
ParsedUrl parsed_url;
37
37
const std::regex url_parts = std::regex(
38
- R"( ^((?:\w+:\/\/)?[^\/]+\.[^\/]+)((?:\/[^\/?#]* )*)(\?\S*?)?(#\S*)?$)" ,
38
+ R"( ^((?:\w+:\/\/)?[^\/]+\.[^\/?# ]+)((?:\/? [^\/?#]+ )*)(\?\S*?)?(#\S*)?$)" ,
39
39
std::regex_constants::ECMAScript | std::regex_constants::icase);
40
40
void remove_all_chars (std::string& target, char remove);
41
41
const void parse_url ();
Original file line number Diff line number Diff line change @@ -19,7 +19,10 @@ const void Url::parse_url() {
19
19
std::smatch parts;
20
20
if (std::regex_match (url, parts, url_parts)) {
21
21
parsed_url.domain = parts[1 ].str ();
22
- parsed_url.path = parts[2 ].str ();
22
+ if (parts[2 ].str ().size () > 0 )
23
+ parsed_url.path = parts[2 ].str ();
24
+ else
25
+ parsed_url.path = " /" ;
23
26
parsed_url.parameter .base_string = parts[3 ].str ();
24
27
parsed_url.fragment .base_string = parts[4 ].str ();
25
28
}
Original file line number Diff line number Diff line change @@ -220,7 +220,8 @@ <h2>Analysis Result:</h2>
220
220
< script >
221
221
const parseUrl = ( url ) => {
222
222
const RegExp = {
223
- UrlParts : / ^ ( (?: h t t p s ? : \/ \/ ) ? [ ^ \/ ] + \. [ ^ \/ ] + ) ( (?: \/ [ ^ \/ ? # ] * ) * ) ( \? \S * ?) ? ( # \S * ) ? $ / }
223
+ UrlParts : / ^ ( (?: h t t p s ? : \/ \/ ) ? [ ^ \/ ] + \. [ ^ \/ ? # ] + ) ( (?: \/ ? [ ^ \/ ? # ] * ) * ) ( \? \S * ?) ? ( # \S * ) ? $ /
224
+ }
224
225
url = url . replaceAll ( '\\' , '' ) ;
225
226
if ( RegExp . UrlParts . test ( url ) ) {
226
227
const groups = RegExp . UrlParts . exec ( url ) ;
@@ -252,7 +253,8 @@ <h2>Analysis Result:</h2>
252
253
parameters : {
253
254
str : groups [ 3 ] || '' ,
254
255
list : parameters_list ,
255
- obj : parameters_obj } ,
256
+ obj : parameters_obj
257
+ } ,
256
258
fragment : {
257
259
str : groups [ 4 ] || '' ,
258
260
list : fragment_list ,
Original file line number Diff line number Diff line change @@ -51,10 +51,9 @@ const main = () => {
51
51
color . log ( content , `${ e [ 0 ] . padStart ( maxLength ) } ` ) ;
52
52
console . log ( ) ; } ) ;
53
53
console . log ( ) ; }
54
- if ( input == r . fullUrl ( ) ) {
55
- color . log ( title , "Full URL" ) ;
56
- process . stdout . write ( ":\n- " ) ;
57
- color . log ( content , `${ r . fullUrl ( ) } \n` ) ; } }
54
+ color . log ( title , "Full URL" ) ;
55
+ process . stdout . write ( ":\n- " ) ;
56
+ color . log ( content , `${ r . fullUrl ( ) } \n` ) ; }
58
57
59
58
const loadConfigFile = ( file ) => {
60
59
const __dirname = path . dirname ( fileURLToPath ( import . meta. url ) ) ;
Original file line number Diff line number Diff line change 1
1
export const parseUrl = ( url ) => {
2
2
const RegExp = {
3
- UrlParts : / ^ ( (?: h t t p s ? : \/ \/ ) ? [ ^ \/ ] + \. [ ^ \/ ] + ) ( (?: \/ [ ^ \/ ? # ] * ) * ) ( \? \S * ?) ? ( # \S * ) ? $ / }
3
+ UrlParts : / ^ ( (?: \w + : \/ \/ ) ? [ ^ \/ ] + \. [ ^ \/ ? # ] + ) ( (?: \/ ? [ ^ \/ ? # ] * ) * ) ( \? \S * ?) ? ( # \S * ) ? $ / }
4
4
url = url . replaceAll ( '\\' , '' ) ;
5
5
if ( RegExp . UrlParts . test ( url ) ) {
6
6
const groups = RegExp . UrlParts . exec ( url ) ;
@@ -23,7 +23,7 @@ export const parseUrl = (url) => {
23
23
return {
24
24
parts : {
25
25
domain : groups [ 1 ] ,
26
- path : groups [ 2 ] || '' ,
26
+ path : groups [ 2 ] || '/ ' ,
27
27
parameters : {
28
28
str : groups [ 3 ] || '' ,
29
29
list : parameters_list ,
You can’t perform that action at this time.
0 commit comments