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

World: r3wp

[!Cheyenne] Discussions about the Cheyenne Web Server

Graham
10-Jun-2007
[1590x4]
ahh... doesn't work after I kill Cheyenne
and use the same console
so, some type of rebol corruption is occuring
can anyone else confirm this??
Maarten
10-Jun-2007
[1594x2]
Let me try. What do you do?
>> test-string: "11 22 33"
== "11 22 33"
>> dehex test-string
== "11 22 33"
>> do %cheyenne.r
Script: "Cheyenne Web Server" (9-Jun-2007)
Script: "Untitled" (none)
[uniserve] Async Protocol FastCGI loaded
[uniserve] Starting task-master...
[uniserve] Starting HTTPd...
(escape)
>> dehex test-string
== "11 22 33"
Graham
10-Jun-2007
[1596x2]
I don't know
maybe I mistyped it .. but the rsp version doesn't work
Maarten
10-Jun-2007
[1598]
Then that's the problem :-)
Graham
10-Jun-2007
[1599x2]
https://www.compkarori.co.nz/test.rsp
which is just the page above
Maarten
10-Jun-2007
[1601x2]
Yep, I see it too
Paris, we've found a bug!
Graham
10-Jun-2007
[1603]
She's in Jail
Maarten
10-Jun-2007
[1604]
Where is url-encode defined?
Oldes
10-Jun-2007
[1605x3]
libs/html.r
and it looks strange... I'm not sure if it's save to use just to 
file!
safe
Graham
10-Jun-2007
[1608x3]
ahh.. that is the problem
I replaced url-encode with my own function, and it works fine now.
sweet
Maarten
10-Jun-2007
[1611x2]
Not sure. Change this inthe RSP and see what happens: print rejoin 
[ "Dehex: " dehex head test <br/> ]
Graham: submit your own function here so Doc can include that in 
the next release (and we all to in the meantime :-)
Graham
10-Jun-2007
[1613x2]
this is straight from the cookies-client.r
url-encode: func [
    {URL-encode a string}
    data "String to encode"
    /local new-data
][
    new-data: make string! ""
    normal-char: charset [
        #"A" - #"Z" #"a" - #"z"
        #"@" #"." #"*" #"-" #"_"
        #"0" - #"9"
    ]
    if not string? data [return new-data]
    forall data [
        append new-data either find normal-char first data [
            first data
        ][

            rejoin ["%" to-string skip tail (to-hex to-integer first data) -2]
        ]
    ]
    new-data
]
Dockimbel
10-Jun-2007
[1615]
Thanks Graham, I'll look at your code and fix my url-encode function 
asap.
Graham
10-Jun-2007
[1616]
I think tomc wrote the original version about 1999 or so !
Maarten
10-Jun-2007
[1617]
Proven technology ;-)
Oldes
10-Jun-2007
[1618]
I use:
url-encode: func [
    "URL-encode a string" 
    data "String to encode" 
    /local new-data
][
    new-data: make string! "" 
    normal-char: charset [
        #"A" - #"Z" #"a" - #"z" 
        #"@" #"." #"*" #"-" #"_" 
        #"0" - #"9"
    ] 
    if not any [string? data binary? data] [return data] 
    parse/all data [any[
    	  copy tmp some normal-char (insert tail new-data tmp)

     | copy tmp some #" " (insert/dup tail new-data #"+" length? tmp)
    	| copy tmp 1 skip (

      insert tail new-data rejoin ["%" as-string skip tail (to-hex to integer! 
      to char! tmp) -2]
    	)
	]]
    new-data
]
Maarten
10-Jun-2007
[1619]
I think Will's mod-rewrite does what I want. Perhaps I can test and 
document it :-)
Dockimbel
10-Jun-2007
[1620]
Marteen, about your questions, there's currently several web sites 
running with several months uptime. Cheyenne is quite resistant to 
all classic web attacks (tested with the Nikto package). About speed 
and performances, I've done a few test a year ago but a lot of things 
changed since, so I need to do some new benchmarking (anyone tried 
with Apache's ab tool ?)
Oldes
10-Jun-2007
[1621]
but it could be modified not to create new data but rather modify 
the existing value.
Maarten
10-Jun-2007
[1622]
Thanks. I suspect 100+ reqs/sec should be easily doable
Dockimbel
10-Jun-2007
[1623x2]
Oldes, thanks, I've made a minimal url-encode function (due to lack 
of time). I'll wrote a better one for the next release. Not sure 
what approach is faster, changing the argument series or building 
a new one...will test that.
Marteen: for static 1ko files on a recent hardware, it should be 
around  500+ req/s.
Maarten
10-Jun-2007
[1625]
I am thinking of RSP pages.
Dockimbel
10-Jun-2007
[1626]
raw testing locally gives me : 188 req/s on /show.rsp
Maarten
10-Jun-2007
[1627x2]
:-)
That's what Iw anted to know: in the 10s-100s/sec
Dockimbel
10-Jun-2007
[1629x2]
AMD 3500+ (not the latest hardware)
There's still space for optimization...and R3 will make it run even 
faster ;-)
Oldes
10-Jun-2007
[1631]
I need 3s to get 100 requests on show.rsp... but it's because of 
my FW
Maarten
10-Jun-2007
[1632x4]
I saw wil reported 200 reqs/sec with an Ajax/DB (mysql) app on a 
dualcore
Those are good numbers. because data manipulation with your mysql:// 
is so much easier I think this will be much faster in development, 
deployment than most other web solutions. And performance is good 
enough.
Do you provide commercial support on Cheyenne?
Wrt session support: nothing stops me (or anyone else) to create 
a db-session lib that you can use from RSPs. The RSP model is inherently 
extensible.
Dockimbel
10-Jun-2007
[1636]
Sure, you can bypass the internal session engine and use your own 
;-). Commercial support on Cheyenne, yes, that's a service we're 
already offering.
Maarten
10-Jun-2007
[1637x2]
OK, I'll try to add some code that works database driven and mail 
to you.
Wrt  commercial support: what are the prices and what is the service 
(perhaps better to discuss this privately unless you can make a marketing 
statement ;-)
Dockimbel
10-Jun-2007
[1639]
I'll contact you privately tomorrow about that.