r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!REBOL2 Releases] Discuss 2.x releases

Graham
2-Sep-2010
[2035]
Brian's issue is not a problem
BrianH
2-Sep-2010
[2036]
That is exactly where it matters. That is the whole problem.
Graham
2-Sep-2010
[2037]
We can fix it without worrying about that part
BrianH
2-Sep-2010
[2038]
That part is the only part that needs fixing.
Maxim
2-Sep-2010
[2039x2]
brian .. I agree.. the hexing should stay in the url datatype until 
the actual network scheme requires to handle it.  % characters are 
valid url so they should not get "fixed"
%XX  that is.
Graham
2-Sep-2010
[2041]
But you can't fix it because it's the way Rebol evaluates datatypes 
.. only Carl can fix that.
Maxim
2-Sep-2010
[2042]
exactly.
BrianH
2-Sep-2010
[2043]
Since when is that a constraint?
Graham
2-Sep-2010
[2044]
12 years I think now
BrianH
2-Sep-2010
[2045]
Problems that only Carl can fix still need fixing.
Maxim
2-Sep-2010
[2046x3]
so its a limitation in the URL datatype... akin to agressive error 
evaluation.
so in REBOL speak, url dehexing should, be "relaxed" :-)
in my app, I ended up doing all URL manipulation in strings, and 
then just converting to url at the time of network call
BrianH
2-Sep-2010
[2049]
Or at least put off until it is appropriate to do.
Maxim
2-Sep-2010
[2050x2]
IMHO the datatype can't know when. only the schemes and url processors 
know "when" is appropriate.
the problem is when we are programatically managing uri.  the datatype 
dehexing really gets in the way.
Graham
2-Sep-2010
[2052]
>> http://user%40rebol.com:[blah-:-www-:-rebol-:-com]/
== http://[user-:-rebol-:-com]:[blah-:-www-:-rebol-:-com]/
>> a: to-url "http://user%40rebol.com:[blah-:-www-:-rebol-:-com]"
== http://user%40rebol.com:[blah-:-www-:-rebol-:-com]
>> a
== http://user%40rebol.com:[blah-:-www-:-rebol-:-com]
BrianH
2-Sep-2010
[2053x2]
It's really simple: The url! datatype should do no dehexing itself. 
The file! datatype can dehex, but not url!. Dehexing is only safe 
after decoding.
Graham, thanks for narrowing it down.
Maxim
2-Sep-2010
[2055x2]
just tried a read, and when the second form of graham's test (using 
to-url on a string) the url parser doesn't dehex... so the username 
will be invalid.
but I guess the server is responsible for dehexing in that case.
BrianH
2-Sep-2010
[2057x2]
Um, no. The HTTP standard for basic authentication doesn't hex-encode 
the user or password fields. The browser (or in our case, http scheme) 
does.
Only the path is hex-encoded when passed to the server.
Maxim
2-Sep-2010
[2059x2]
ok so then the dehexing should be added in the url-parser and string 
notation used for @ containing passwords.  

just like we use string notation for files containing spaces.
this could a workaround until Carl stops dehexing in the loading 
phase.
BrianH
2-Sep-2010
[2061]
Still haven't traced that.
Maxim
2-Sep-2010
[2062]
>> c: load "http://user%40rebol.com:[blah-:-www-:-rebol-:-com]"
== http://[user-:-rebol-:-com]:[blah-:-www-:-rebol-:-com]
BrianH
2-Sep-2010
[2063]
No, I mean I haven't traced it. LOAD calls other functions, maybe 
even in R2.
Chris
2-Sep-2010
[2064]
The 'solution' is: read [scheme: 'http user: "[user-:-rebol-:-com]" pass: 
.........]

: )
Maxim
2-Sep-2010
[2065]
but that's not a uri  ;-)   the point of the url datatype is that 
we shoudn't need to use "specifications" but uri paths.
Chris
2-Sep-2010
[2066]
I know, I know.  I've just used it many times : )
Gabriele
3-Sep-2010
[2067]
The standard is very explicit on how encoding should work. Reserver 
characters must never be decoded BEFORE you split the URL into its 
parts (which can only be done if you understand the scheme). Any 
other character may be decoded just like REBOL does.


So, it's not that URL! should never decode, it's that it should never 
decode the reserved characters. Then, the handler for each protocol 
needs to decode the parts separately after splitting. Since the protocols 
we use in REBOL all have the same format basically, you can use a 
single function to handle all of them, eg. like my parse-url.
Gregg
3-Sep-2010
[2068]
Excellent summary Gabriele. Thanks for posting that. It makes the 
problem and solution very clear.
Tomc
9-Sep-2010
[2069]
Carl wrote:   I'm wrapping up R3 A107... so if we want to do some 
test builds for 2.7.8 on this, let me know.
Kaj
9-Sep-2010
[2070]
The question is where. There was a similar call in R3 Chat at the 
beginning of the year, but no response there
Tomc
9-Sep-2010
[2071]
Personaly I think putting out some test builds is always a good thing, 
 and the prudent thing to to is to make them available for the most 
popular platforms, best chance of someone doing something that results 
in useful feed back. unfortunatly as a unpopular platform user that 
means I am out.
Graham
11-Sep-2010
[2072x3]
I find the loss of data on reading a http/s page annoying.   ie, 
losing the http headers
I've inserted a save-header function here


   port/locals/headers: headers: save-header Parse-Header HTTP-Header 
   headers

but the question now is, where is the best place to store this?
actually thinking about it, it should really be 


   port/locals/headers: headers: Parse-Header HTTP-Header save-header 
   headers


as parse-header will remove duplicate header lines .. ie. if there 
is more than one cookie header, the parse-header function loses all 
but one.
Chris
11-Sep-2010
[2075x2]
This is one reason why I wrote a rest protocol.  The http protocol 
seems designed to get content the same way a browser would.  But 
as more services use http more completely, things like automatic 
redirects and thrown errors for 4xx/5xx status codes are not helpful 
(and good luck getting headers and content then).
rest.r is designed to make HTTP interaction behave more like a web 
service.  Which is the principle behind Rest, I supose.
Graham
11-Sep-2010
[2077x2]
Is anyone tracking what we need for 2.7.8 ??  http://www.rebol.com/docs/changes-2-7.html
This was supposed to be released months ago ...
Actually 2.7.8 was promised for jan 2010
Kaj
12-Sep-2010
[2079]
Yeah, and then monthly releases
Graham
14-Sep-2010
[2080x2]
How about my help function in 2.7.8 ?
It's a modified R2 help http://rebol.wik.is/Man
Graham
25-Sep-2010
[2082]
We had daylight savings change this morning.  R2 shows still as +12, 
but R3 shows as +13.  Can R2 be fixed?
Sunanda
26-Sep-2010
[2083]
Rambo bug for +13 already exists:
   http://www.rebol.net/cgi-bin/rambo.r?id=4302&
Now all it needs is fixing :)
Graham
26-Sep-2010
[2084]
hmm.. I think that's different