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
17-Jun-2007
[1703x2]
'validate sets parameters to none! if they are not provided. What 
does the cgi object for default values ?
I should extend 'validate spec block to allow custom default values.
MikeL
17-Jun-2007
[1705]
Hi Doc,

I was referring to something like this 
   construct/with
                cgi-block
                   make object! [a: 111 b: 222 c: 3]


from http://www.rebol.org/cgi-bin/cgiwrap/rebol/art-display-article.r?article=x60w#toc-20



It could be added by all users to the results of validate but then 
it would be not be a standard cheyenne solution. It makes sense to 
me it is ''validate.
Dockimbel
17-Jun-2007
[1706]
Thanks for the example. I agree, it's a useful feature. I'll see 
how I can improve 'validate to support that while keeping it  short 
and fast.
Graham
17-Jun-2007
[1707]
I think doc said before that it won't be processed as rsp if using 
a custom 404 handler like this.
Pekr
18-Jun-2007
[1708]
any chance of getting something like AddHandler? :-)
Will
18-Jun-2007
[1709]
404 can be an rsp
Terry
18-Jun-2007
[1710]
A little competition  http://www.server2go-web.de/
Dockimbel
18-Jun-2007
[1711]
'on-status-code option allows you to forward to any local URL (incuding 
RSP, CGI or PHP).
Graham
18-Jun-2007
[1712]
I got it working .. maybe I was thinking of the earlier mod method 
of handling 404s
Dockimbel
18-Jun-2007
[1713]
Pekr: AddHandler can be implemented now in Cheyenne. Should it work 
like in Apache (binding a handler to a file type) or can we make 
something smarter. Any ideas about that ?
Graham
18-Jun-2007
[1714]
Is there an example of handling multipart forms ?  ( http uploads 
? )
Dockimbel
18-Jun-2007
[1715x7]
I don't have any ready, but you can easily try by using the show.rsp 
script as the target of a form uploading files.
Doing a simple test doesn't seem to work, there's maybe a regression 
on file uploads handling, give me a few minutes to test that.
Ok, that's what I though, the 'decode-multipart function hasn't been 
updated for the new RSP engine. Here's the new correct beginning 
for this function (located in %handlers/RSP.r) :
parse/all request/headers/Content-type [
			thru "boundary=" opt dquote copy bound [to dquote | to end]
		]
		if not bound [return ""]	 ;-- add proper error handler
		insert bound "--"	
		list: make block! 2
		parse/all data [
...
To test file uploading, here's a short HTML form (put it in %www/) 
:
<form action="show.rsp" method="POST" enctype="multipart/form-data">
	<input type="file" name="ufile" size="16" />
	<input type="submit" name="usubmit" value="upload" />
</form>
BTW, file uploads are currently stored in memory only. I'll improve 
that to use the disk instead for big files.
Graham
18-Jun-2007
[1722x3]
great
http://bytered.com/siteinfo.html- website running on a converted 
LinkSys NSLU storage device.
Just imagine converting these to run Cheyenne .. mini Rebol appliances
Dockimbel
18-Jun-2007
[1725]
Thanks for the link, I plan to play with some small linux and R3 
to see how small it can be.
Pekr
18-Jun-2007
[1726]
Doc, as for AddHandler. With Apache, I put following into .htaccess:

AddHandler rsp .html
Action rsp /cgi-bin/rsp.cgi


So above means - take .html and send it as a parameter to rsp.cgi 
... simply it is a reverse aproach from your RSP.
MikeL
18-Jun-2007
[1727]
Petr, Isn't this AddHandler the same as was demonstrated with the 
Demo.r which can be defined in the %httpd.cfg globals section
 bind-extern demo to [.dem]


Add demo.r which in %handlers/  can do anything you like with the 
content?
Pekr
18-Jun-2007
[1728x2]
MikeL - I am not sure I understand what you mean ...
so you think I could do:

bind-extern pekr-rsp to [.html .htm]

and then putting  pekr-rsp.r into %handlers/ ?
Dockimbel
18-Jun-2007
[1730x3]
No, handlers need to implement "handler's API".
it's not that hard, thought, but currently undocumented.
I'll see how to add such feature in a close-to-apache way, just need 
to think about it a little bit more.
Pekr
18-Jun-2007
[1733]
ok, thank you very much. I really think it would be usefull feature, 
as I really don't like RSP aproach ....
Maxim
18-Jun-2007
[1734]
next week pekr, you will be addicted to remark mod  :-)  I am working 
on porting the old remark tag API within the new processing kernel. 
 its like a mod within a mod... basically you can add new pseudo 
html tags right in your documents.
Pekr
18-Jun-2007
[1735]
Maxim  - I looked into remark and I don't like it either. As I said 
- I will not accept any system, which ruins normal html (template 
viewing) :-)
Maxim
18-Jun-2007
[1736x2]
ruins?
what do you mean?
Pekr
18-Jun-2007
[1738x2]
gfx man has to do his work, and put some tagging into comments blocks 
at max. .html is registered with handler, and goes via my-rsp.r. 
It either does nothing for the page (static one), or parses tags 
and knows what to do with the template. No html plus rebol code mixing, 
no custom tags ....
but we should move to web group probably ...
Maxim
18-Jun-2007
[1740]
you just said "or parses tags "  so the .html page HAS code of somesort... 
I don't see your point?
Maarten
18-Jun-2007
[1741]
What happens when I upload a 300mb file to Cheyenne (hypothetically?)
Dockimbel
18-Jun-2007
[1742]
Currently, you'd better have a lot of RAM ;-). File upload support 
is still quite primitive, I'll improved that for the v1.
Maarten
18-Jun-2007
[1743]
I am thinking of an S3 scenario where I want to "pipe" a huge file 
upload to Amazon S3 (as example)
Dockimbel
18-Jun-2007
[1744]
You'll need something like a mod-proxy (to be implemented) to stream 
your upload to another server.
Maarten
18-Jun-2007
[1745]
Yes, but you'd want it to be blocking for the end user in this case 
so he sees the completed status. Question is: will that block Cheyenne?
Dockimbel
18-Jun-2007
[1746x3]
I already have the HTTP protocol with streaming support for UniServe, 
so this shouldn't be a big work to implement such module (would just 
require to think about how to make it as generic as possible).
With UniServe's async HTTP protocol, it won't block Cheyenne.
Blocking for the end user : sure as long as he hasn't upload all 
the file, he won't receive a response from Cheyenne (that's the HTTP 
protocol).
Maarten
18-Jun-2007
[1749]
I see, so the question really is streaming (and proxying the data). 
That 1.0 is gonna be feature-packed ;-)
Dockimbel
18-Jun-2007
[1750]
I'm sure you'll put 1.0 on good stress-tests ;-)
Maarten
18-Jun-2007
[1751]
All ;-) aside, any timelines for 1.0 + docs?
Dockimbel
18-Jun-2007
[1752]
Cheyenne should be feature-completed for 1.0 by the end of the month 
(was delayed by other sub-projects, like CureCode). Docs would need 
at least a couple more weeks to be done, so mid-july seems reachable 
for an official 1.0.