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

Dockimbel
12-Jul-2007
[1966]
In theory, Cheyenne should be able to connect and pass requests to 
any FastCGI application, but it was only tested with PHP.
Pekr
12-Jul-2007
[1967]
any chance of getting:

AddHandler rebol-cgi-dispatch .html
Action rebol-cgi-dispatch /cgi-bin/rebol-cgi-dispatch.cgi

to work already? :-)
Dockimbel
12-Jul-2007
[1968]
No yet, I want a better API and config options than Apache which 
is a real mess ! So, I have a prototype of how it should be a AddHandler 
option should be added, I need to mature that a little more before 
implementing in the next release. Maybe I'll write an article on 
Cheyenne's blog about that to have some feedback....
Pekr
12-Jul-2007
[1969]
would be good ...
Dockimbel
12-Jul-2007
[1970x3]
Maybe something like:

process .html by "/cgi-bin/rebol-cgi-dispatch.cgi"
spec in pseudo code: 


process [any [extension | URL | folder | filename]] by [handler | 
URL-with-target]
BTW, I didn't have time to test this new release on linux, especially 
the external application launcher...Will test that tomorrow.
Pekr
12-Jul-2007
[1973x2]
Doc - does app need to be encapped to hide in Systray?
Doc - above could be sufficient ....
Dockimbel
12-Jul-2007
[1975x2]
To hide REBOL consoles, just start REBOL with -w option.
or encap Cheyenne ;-)
Pekr
12-Jul-2007
[1977x5]
Doc - maybe we can fix that black dos window? I do remember some 
fix which hacked rebol exe, but dunno what it was related to ....
Doc - from config - is php supposed to be in ..\php dir?
Can I have more extern apps? E.g. more php versions?
Firefox offers me download of test.php, instead of executing it? 
Maybe a mime-type incorrectly set?
it should not offer me to download the script, or it is security 
issue imo :-)
Dockimbel
12-Jul-2007
[1982x4]
Check if your php-cgi.exe process exists
PHP can be anywhere you want, just set the correct (relative or absolute) 
path in the 'command directive
You can have more than one php-cgi process, but the pooling support 
is not yet implemented. For PHP, to control the number of threads 
(Windows) or processes (UNIX), just set the PHP_FCGI_CHILDREN parameter 
to the number you want. If you don't know what this is about, just 
leave the default value (1). Even with that value, it can supports 
dozens of concurrent requests (thanks to the fastcgi multiplexing 
support).
Hacking REBOL exe : that's prohibited by the REBOL license. ;-)
Terry
13-Jul-2007
[1986x4]
I recall fixing the DOS box by using a winapi libary call instead.. 
I'll see if I can dig it up.
shell32b: load/library %shell32.dll
  shell32c: "ShellExecuteA"
 
shell32R: make routine! [
hwnd [integer!]
    lpOperation [string!]
    lpFile [string!]
    lParameters [string!]
	lpDirectory [string!]
	nShowCmd [integer!]
] shell32b shell32c

Opener: func [inpu] [shell32R 0 "open" inpu "" "" 1];
Opens full path, url etc. without DOS box


Opener "docs/notes.txt"   or   Opener "http://kommonwealth.com/tb"
  ; cheap plug
Opener as a function name? What was I thinking?
Dockimbel
13-Jul-2007
[1990x2]
For executing external applications as CGI, you need to handle stdin, 
stdout and stderr, that's something that can't be done with ShellExecute(), 
you need to use CreateProcess() for that. I've partially done it 
in my async-call library, but it lacks a few features and it only 
support Windows.
Btw, REBOL provides a native wrapper to ShellExecute, see the 'run 
function.
ICarii
13-Jul-2007
[1992x2]
** Script Error: Feature not available in this REBOL - not in REBOL/View 
2.7.5.3.1 18-Mar-2007
although it does list the run command
Dockimbel
13-Jul-2007
[1994]
You need a license key to unlock that feature.
ICarii
13-Jul-2007
[1995x2]
command only?
because with the sdk key it was giving me that error
Dockimbel
13-Jul-2007
[1997]
It can't make it work with any binary from the SDK, it looks like 
a bug to me.
ICarii
13-Jul-2007
[1998]
;-)
Dockimbel
13-Jul-2007
[1999]
Or it might be unlocked for IOS /link binaries.
Graham
13-Jul-2007
[2000x2]
it's been rambo'd ages ago
only works on IOS
Dockimbel
13-Jul-2007
[2002]
There are some days when I envy developers using open-sourced programming 
languages...
Graham
13-Jul-2007
[2003]
http://www.rebol.net/cgi-bin/rambo.r?id=3447&
I mentioned this in 2004
Dockimbel
13-Jul-2007
[2004x2]
I've summarized the new way to configure the PHP interface in Cheyenne 
here : http://softinnov.org/cheyenne/blog.cgi?view=0011
Pekr, the new PHP interface can now work with relative paths, so 
you can now put Cheyenne and PHP in your USB stick and spread it 
everywhere ;-). Did you solve your issue regarding php process not 
responding on Vista ?
Gabriele
14-Jul-2007
[2006]
Doc: remember the Detective version of async-call also works on linux, 
freebsd, solaris, and mac os x. :) i guess we should make a sync 
version of that for normal human beings to use ;)
Dockimbel
14-Jul-2007
[2007x2]
Right Gabriele, I forgot that one !
Is Detective sources available somewhere, I can't find the download 
link ?
Gabriele
14-Jul-2007
[2009x4]
async-call is here: http://www.colellachiara.com/soft/async-call-definition.r
license says GPL however i think we agreed it is ok to switch it 
to BSD.
(i'll need to update that.)
detective source should be somewhere on surfnet site... but i probably 
should put a zip on my site too.
Dockimbel
14-Jul-2007
[2013]
Thanks !
Graham
14-Jul-2007
[2014x2]
Has anyone got a public Cheyenne server running?  With show.cgi available?
This is with the latest beta ...

>> page: read http://127.0.0.1/show.cgi
URL Parse: none none 127.0.0.1 none none show.cgi
Net-log: ["Opening" "tcp" "for" "HTTP"]
connecting to: 127.0.0.1
Net-log: {GET /show.cgi HTTP/1.0
Accept: */*
Connection: close
User-Agent: REBOL View 1.3.2.3.1
Host: 127.0.0.1
}
Net-log: "HTTP/1.1 200 OK"
Net-log: ["low level read of " 2048 "bytes"]
Net-log: ["low level read of " 2048 "bytes"]

== {<HTML><BODY><FONT FACE='ARIAL' SIZE='-1'><a href="/">Back</a><br><br>
<B>Script path :</B> /E/cheyenne916/Cheyenne/www/ <BR><BR...

>> page: read/custom http://127.0.0.1/show.cgireduce ['post join 
"content=" url-encode content ]
URL Parse: none none 127.0.0.1 none none show.cgi
Net-log: ["Opening" "tcp" "for" "HTTP"]
connecting to: 127.0.0.1
Net-log: {POST /show.cgi HTTP/1.0
Accept: */*
Connection: close
User-Agent: REBOL View 1.3.2.3.1
Host: 127.0.0.1
Referer: http://127.0.0.1/show.cgi
Content-Type: application/x-www-form-urlencoded
Content-Length: 147479
}
Net-log: none

** User Error: Error.  Target url: http://127.0.0.1/show.cgicould 
not be retrieved.  Server response: none

** Near: page: read/custom http://127.0.0.1/show.cgireduce ['post 
join "content=" url-encode content]
>>