Remove raw-query stuff, its a pain
parent
304e069af2
commit
81bd2eb175
|
@ -10,7 +10,6 @@ arrays kernel assocs present accessors ;
|
||||||
{ host "www.apple.com" }
|
{ host "www.apple.com" }
|
||||||
{ port 1234 }
|
{ port 1234 }
|
||||||
{ path "/a/path" }
|
{ path "/a/path" }
|
||||||
{ raw-query "a=b" }
|
|
||||||
{ query H{ { "a" "b" } } }
|
{ query H{ { "a" "b" } } }
|
||||||
{ anchor "foo" }
|
{ anchor "foo" }
|
||||||
}
|
}
|
||||||
|
@ -21,7 +20,6 @@ arrays kernel assocs present accessors ;
|
||||||
{ protocol "http" }
|
{ protocol "http" }
|
||||||
{ host "www.apple.com" }
|
{ host "www.apple.com" }
|
||||||
{ path "/a/path" }
|
{ path "/a/path" }
|
||||||
{ raw-query "a=b" }
|
|
||||||
{ query H{ { "a" "b" } } }
|
{ query H{ { "a" "b" } } }
|
||||||
{ anchor "foo" }
|
{ anchor "foo" }
|
||||||
}
|
}
|
||||||
|
@ -59,7 +57,6 @@ arrays kernel assocs present accessors ;
|
||||||
{
|
{
|
||||||
T{ url
|
T{ url
|
||||||
{ path "bar" }
|
{ path "bar" }
|
||||||
{ raw-query "a=b" }
|
|
||||||
{ query H{ { "a" "b" } } }
|
{ query H{ { "a" "b" } } }
|
||||||
}
|
}
|
||||||
"bar?a=b"
|
"bar?a=b"
|
||||||
|
@ -213,7 +210,6 @@ urls [
|
||||||
T{ url
|
T{ url
|
||||||
{ protocol "http" }
|
{ protocol "http" }
|
||||||
{ host "localhost" }
|
{ host "localhost" }
|
||||||
{ raw-query "foo=bar" }
|
|
||||||
{ query H{ { "foo" "bar" } } }
|
{ query H{ { "foo" "bar" } } }
|
||||||
{ path "/" }
|
{ path "/" }
|
||||||
}
|
}
|
||||||
|
@ -224,7 +220,6 @@ urls [
|
||||||
T{ url
|
T{ url
|
||||||
{ protocol "http" }
|
{ protocol "http" }
|
||||||
{ host "localhost" }
|
{ host "localhost" }
|
||||||
{ raw-query "foo=bar" }
|
|
||||||
{ query H{ { "foo" "bar" } } }
|
{ query H{ { "foo" "bar" } } }
|
||||||
{ path "/" }
|
{ path "/" }
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ strings.parser lexer prettyprint.backend hashtables present
|
||||||
peg.ebnf urls.encoding ;
|
peg.ebnf urls.encoding ;
|
||||||
IN: urls
|
IN: urls
|
||||||
|
|
||||||
TUPLE: url protocol username password host port path raw-query query anchor ;
|
TUPLE: url protocol username password host port path query anchor ;
|
||||||
|
|
||||||
: <url> ( -- url ) url new ;
|
: <url> ( -- url ) url new ;
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ protocol = [a-z]+ => [[ url-decode ]]
|
||||||
username = [^/:@#?]+ => [[ url-decode ]]
|
username = [^/:@#?]+ => [[ url-decode ]]
|
||||||
password = [^/:@#?]+ => [[ url-decode ]]
|
password = [^/:@#?]+ => [[ url-decode ]]
|
||||||
pathname = [^#?]+ => [[ url-decode ]]
|
pathname = [^#?]+ => [[ url-decode ]]
|
||||||
query = [^#]+ => [[ >string ]]
|
query = [^#]+ => [[ query>assoc ]]
|
||||||
anchor = .+ => [[ url-decode ]]
|
anchor = .+ => [[ url-decode ]]
|
||||||
|
|
||||||
hostname = [^/#?]+ => [[ url-decode ]]
|
hostname = [^/#?]+ => [[ url-decode ]]
|
||||||
|
@ -80,7 +80,7 @@ M: string >url
|
||||||
] [ f f f f f ] if*
|
] [ f f f f f ] if*
|
||||||
]
|
]
|
||||||
[ second ] ! pathname
|
[ second ] ! pathname
|
||||||
[ third dup query>assoc ] ! query
|
[ third ] ! query
|
||||||
[ fourth ] ! anchor
|
[ fourth ] ! anchor
|
||||||
} cleave url boa
|
} cleave url boa
|
||||||
dup host>> [ [ "/" or ] change-path ] when ;
|
dup host>> [ [ "/" or ] change-path ] when ;
|
||||||
|
|
Loading…
Reference in New Issue