AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 5907 |
r3wp | 58701 |
total: | 64608 |
results window for this page: [start: 16901 end: 17000]
world-name: r3wp
Group: !Cheyenne ... Discussions about the Cheyenne Web Server [web-public] | ||
Terry: 10-Jun-2007 | What i did with Framewerks is when a client logs in, I generate a random hash, and store it as a cookie, as well as on the DB associated with that user. | |
Terry: 10-Jun-2007 | Set the cookie to expire in 10 hours (log in once a day) | |
Maarten: 10-Jun-2007 | On wirting modules, is this how it works: (?) - create a mod-<name>.r - start with install HTTPd-extension - name 'mod-name - order -> this I don't get but it controls the flow through mezzanines the rest is custom code Q: what other data is available in a mod and what is the order thingy? | |
Terry: 10-Jun-2007 | I associate the the IP with the user a well.. if the IP is a mismatch, the cookie is void | |
Dockimbel: 10-Jun-2007 | Re: php / fastcgi, didn't had time to work on it this week, but it's high priority for my company, we need to put a few php apps onlin with Cheyenne, so I'll work on that in the next days. | |
Terry: 10-Jun-2007 | What's the issue with windows cookies? .. if there's a timezone difference, can you not adjust the expiration accordingly? | |
Terry: 10-Jun-2007 | Although that's a bit nasty. | |
Terry: 10-Jun-2007 | well, it might just be the demo.. but if you put a url with a slash, you get a different result than without the slash.. sometimes | |
Oldes: 10-Jun-2007 | thanks.. I will take a look | |
Maarten: 10-Jun-2007 | (I hate to be nagging but... any answers to my how-to-write-a-module-question?) | |
Dockimbel: 10-Jun-2007 | In the modules body you have to implement callbacks (HTTPd phases) if you want your module to react on requests. The order is just the position of your module's callback for a give phase, among the list of other modules. | |
Terry: 10-Jun-2007 | (You should create a macro key for this answer Doc) | |
Maarten: 10-Jun-2007 | Thanks, I'll be looking into this a bit more. | |
Terry: 10-Jun-2007 | Doc, you should create a basic hello world module. | |
Terry: 10-Jun-2007 | How about the listening ports... can you receive a msg on one port, and respond on the other? | |
Dockimbel: 10-Jun-2007 | FTP server, a service that I wanted to add to UniServe since a long time... | |
Terry: 10-Jun-2007 | Ie: I can read a page from my server, and when some particular IP reads as well, it can push a message to my page. | |
Maarten: 10-Jun-2007 | mod-router - a module that routes request based on a sitemap | |
Dockimbel: 10-Jun-2007 | mod-router: you mean being able to translate the request URLs for a whole site, based on a sitemap description ? | |
Dockimbel: 10-Jun-2007 | that could be useful when refactoring a whole web site that is already deeply indexed by search bots and want to keep it's high ranking... | |
Dockimbel: 10-Jun-2007 | Very cool module, Marteen, I already have a customer where I might use it ! | |
Maarten: 10-Jun-2007 | I think it should be easy because the trick is to allow a set of parse rules for the translation in a sitemap.cfg for this module. That way you can utilize parse's full expressiveness :-) | |
Graham: 10-Jun-2007 | I guess it must be a RSP problem. | |
Graham: 10-Jun-2007 | it's a simple url-encode and then dehex with characters missing after the dehex | |
Maarten: 10-Jun-2007 | Paris, we've found a bug! | |
Graham: 10-Jun-2007 | 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 ] | |
Oldes: 10-Jun-2007 | 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 ] | |
Dockimbel: 10-Jun-2007 | 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 ?) | |
Dockimbel: 10-Jun-2007 | 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. | |
Dockimbel: 10-Jun-2007 | Marteen: for static 1ko files on a recent hardware, it should be around 500+ req/s. | |
Maarten: 10-Jun-2007 | I saw wil reported 200 reqs/sec with an Ajax/DB (mysql) app on a dualcore | |
Maarten: 10-Jun-2007 | 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 | 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 | 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 ;-) | |
Maxim: 11-Jun-2007 | I don't know how rsp fits into the picture, but once I have something of a remark loadable lib working, I'll try to get others to better define how to merge rsp and remark (mainly what rsp can add to remark... things like session control maybe). maybe rsp doesn't even become relevant... more details to come as I work out all the parts of this endeavor. btw, this effort is brought up by need... not just hobby fun. | |
Maxim: 11-Jun-2007 | I also did an html-encode to allow easier form interaction... does anyone find a use for that? | |
Maxim: 11-Jun-2007 | that was a message for doc... and sorry if reading it , it sounds like an order.. <phew> sooo not intentional... the download link I mean, on the main cheyenne root page... you really should update that root page its seems to be like 6 months old now! | |
Dockimbel: 12-Jun-2007 | Max: glad to see you using Cheyenne too. About the home page, yes, it's still the old one, that's intentionnal for a couple more weeks, I want to reach a 1.0 beta first before putting the new Cheyenne out in the wild (that's why I keep the current releases almost confidential). Currently I want to focus on development and documentation, and only support a small group of early adopters (that's you guys ;-)). | |
Dockimbel: 12-Jun-2007 | A precision about modules : modules are executed in Cheyenne's main process (same process as UniServe and HTTPd service), so modules execution has a direct impact on Cheyenne performances. In order to obtain the best performances and best scalability, you should implement also what is currentle called in UniServe : a "handler". A handler in UniServe's context is a module executed in a background process, so it's not blocking Cheyenne's main process. A good approach might be to implement a module first, then export some of the most CPU intensive work in a external bg handler. That's the way CGI and RSP support is implemented. For a good example, see %mod-action.r and %handlers/CGI.r | |
Dockimbel: 12-Jun-2007 | Btw, mod-action provides a general purpose background tasks launcher, you could use it for making your first "bg handler". Here's a small sample code for implementing a bg task handler called "demo" : - Add in %httpd.cfg in globals section : bind-extern demo to [.dem] - Add %handlers/demo.r : REBOL [ Title: "DEMO handler" ] install-module [ name: 'demo on-task-received: func [data][ data: reduce load data wait 0:0:3 ; simulates a 3sec long processing result: reform [ ; you have to return the response string in 'result <html><body> "You're IP is :" data/ip </html></body> ] ] ] - Then create a fake %www/test.dem file (with any content, not used in this demo handler) - Launch Cheyenne and try : http://localhost/test.dem | |
Terry: 12-Jun-2007 | Hey Doc, thanks.. One thing I was trying with Uniserve years ago went like this.. 1) A http request is received as usual. (port 80) 2) Depending on the request, Uniserve would launch a process that may run for hours (ie: reading a website looking for changes), and would occasionally send a message back to the ip address, but on a different port (communicates to a flash script on the original response page, that in turns manipulates the DOM.) So, what's the best method to run these small scripts as to not block, and close without closing the server. I still want to serve up an HTML response, so it's a hybrid of sorts.. sends back a page AND runs it as a handler too? | |
Dockimbel: 12-Jun-2007 | UniServe is based on the classic request/response model. You have to implement a specific UniServe' service for your specific need (like sending a response to another client than the one who sent the request). I guess you'll have to maintain in the service's context a list of the (browser, flash) connections couples, so there's some probabilities that you'll end up write a full custom HTTPd service. | |
Maxim: 12-Jun-2007 | thanks for the info about bg stuff. right now I will be concentration on reformating remark so its a loadable module... a few details make it more complex than it could be. (remark being so flexible). | |
Terry: 12-Jun-2007 | Doc, I guess my question is, how can I pass a message from a module, to a Uniserve service? | |
Dockimbel: 13-Jun-2007 | uniserve/shared space or a global function. | |
Maarten: 13-Jun-2007 | An application is just a subdirectory right? And it always requires a login? | |
Maarten: 13-Jun-2007 | If so, is there a way to bypass the login> | |
btiffin: 13-Jun-2007 | Take a look at testapp/login.rsp. I think you just need to session/content/login?: yes and response/redirect/ "/theapp/" to get round a login form. | |
Dockimbel: 13-Jun-2007 | always requires a login : no, just remove or comment the 'auth "..." part in config file. | |
Dockimbel: 13-Jun-2007 | by default, there's no limitation. If you add the 'auth keyword in a web-app definition, you need to be logged in before being able to access any resource (that's why you get redirected automatically to the login page). Even when 'auth mode is on, you can freely serve resources from the /your-web-app/public/ folder. | |
Maxim: 14-Jun-2007 | knowing there is some some of admin config control panel module, is there a way for that control panel to send commands to other modules through a web page served from cheyenne? for example, remark has a custom tags definition which can be changed (static & dynamic) . if a control panel allowed integration to modules, I could use it to tell a remark to reload its tag definitions. is this possible? or will I have to create some sort of (secret) admin page specifically for remark somehow? | |
Maxim: 14-Jun-2007 | I am asking, cause I don't want to have to reload the tag defs at each page gen, obviously, that's part of the point of building a module in the first place... | |
MikeL: 14-Jun-2007 | fyi - in R0914 the example for the set-tray is a bit clearer so you can add some of the samples or other actions aside from Quit to the set tray (right mouse) menu. | |
Dockimbel: 14-Jun-2007 | MikeL: good idea, btw, I plan to add a "Reload Config File" option soon in this menu. | |
Dockimbel: 14-Jun-2007 | Re: config control panel: there's some experimental stuff, but it still needs a better internal design. If you need to expose some parameters, just fill the words: [...] block in your module definition and add some config options. (this is not yet documented, but by looking in mod-static or mod-action, you'll figure out easily how to use that feature). | |
Will: 15-Jun-2007 | Cheyenne.r does bypass settings in uniserve.r, httpd.r, etc, which is a feature! for example if you set verbosity in httpd.r, it will be bypassed by code in cheyenne.r which takes in command line parameters, look in the source of cheyenne, on the bottom ;-) | |
Graham: 17-Jun-2007 | Any chance of having the custom 404 a rsp page? | |
MikeL: 17-Jun-2007 | 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 | 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 | I think doc said before that it won't be processed as rsp if using a custom 404 handler like this. | |
Terry: 18-Jun-2007 | A little competition http://www.server2go-web.de/ | |
Dockimbel: 18-Jun-2007 | 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 ? | |
Dockimbel: 18-Jun-2007 | 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. | |
Dockimbel: 18-Jun-2007 | 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. | |
Dockimbel: 18-Jun-2007 | To test file uploading, here's a short HTML form (put it in %www/) : | |
Graham: 18-Jun-2007 | http://bytered.com/siteinfo.html- website running on a converted LinkSys NSLU storage device. | |
Pekr: 18-Jun-2007 | 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. | |
Dockimbel: 18-Jun-2007 | I'll see how to add such feature in a close-to-apache way, just need to think about it a little bit more. | |
Maxim: 18-Jun-2007 | 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. | |
Maarten: 18-Jun-2007 | What happens when I upload a 300mb file to Cheyenne (hypothetically?) | |
Dockimbel: 18-Jun-2007 | 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 | 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 | You'll need something like a mod-proxy (to be implemented) to stream your upload to another server. | |
Dockimbel: 18-Jun-2007 | 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). | |
Dockimbel: 18-Jun-2007 | 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). | |
Dockimbel: 18-Jun-2007 | 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. | |
MikeL: 18-Jun-2007 | Doc, Will you add a project to CureCode for Cheyenne or do you prefer them here? (he says as though he found one) | |
Dockimbel: 20-Jun-2007 | Cheyenne release v0.9.15 beta. Download at http://softinnov.org/tmp/cheyenne-r0915.zip Changelog : v0.9.15 - 20/06/2007 o RConsole was not started by default in the previous release. Fixed o RSP: 'include function protection from infinite cycles changed. It's now based on a counter (5 maximum recursive includes). It's a little less cleaner than stack-based tracking but much more reliable (avoids matching paths and targets). o HTML.r library rewritten from scratch. Now, faster and more conforming to standards (Full range of Latin1 entities supported). Fixes URL-encode bugs. o BugFix for command line parsing in encapped Cheyenne on Linux. o Fixed an issue with 'decode-multipart in RSP.r. File upload should work ok again. o Added a new global function : 'rsp-log value. Outputs values in console for debugging RSP scripts. Works as 'probe. o Reloading config file now supported. Running sessions and client connections survive to the reloading process (needs some additional testing). Activating config file reload is done using: - (Windows) "Reload Config" menu option in systray icon. - (UNIX) kill -s HUP pid o UNIX signals SIGINT,SIGQUIT,SIGTERM now catched to allow cleaner exit and last minute actions. Triggers the new 'on-quit event for HTTPd modules. o HTTPd internal events (not phases) refactored to be cleaner. New module's events added: - 'on-started: when Cheyenne starts. - 'on-reload: before a config file reload happens. - 'on-reloaded: after a config file reload happens. - 'on-quit: when Cheyenne is about to stop and quit. o RSP sessions can now be made persistent (can survive to a server complete restart). This option is controlled by a new config keyword: 'persist. Usage is : persist [sessions] ; other flags can be added at will o BugFix in session cookie handling for web-apps using 'auth mode. Now the cookie is sent on the 302 redirection to the login page avoiding the creation of a "shadow session" that will never be used. o FastCGI is under heavy work so mod-fastcgi is commented in config file to avoid fastcgi startup. If you want to play with PHP, just uncomment the line. | |
Dockimbel: 20-Jun-2007 | I'm feeling like running in a marathon ;-) | |
Graham: 21-Jun-2007 | I don't really need SEO because it's a private portal ... | |
Chris: 21-Jun-2007 | This is one area QM has sought to resolve. It's likely it can be done with Cheyenne app methods? Use Hijax -- build an RSP hierarchy: <template> <portion /> </template> Access %template.rsp when requesting a full page, and %portion.rsp when you only want inline content. Use JS to hijack links to full pages and replace them with methods to access and display inline content. | |
Graham: 25-Jun-2007 | I have this odd problem with trying to execute a batch script from an rsp page. I do a call/wait and get a return value of 0, but the script doesn't actually do what it's supposed to do .. viz. convert a ps file to pdf. but the same batch file called from a rebol console does work. | |
Graham: 25-Jun-2007 | and returning a 0, even though it doesn't do what it is supposed to do ie. invoke ps2pdf | |
Graham: 25-Jun-2007 | but the same .cmd file works fine in a rebol console. | |
Graham: 25-Jun-2007 | I wondered about that. But then it should hang and popup a security requester and it doesn't | |
Graham: 25-Jun-2007 | I start cheyenne up as a batch file using firedaemon, which turns this batch file into a windows service. | |
Graham: 25-Jun-2007 | So, it appears for the moment I can't use firedaemon to run cheyenne as a windows service | |
Graham: 25-Jun-2007 | anyone got any other ideas on how to run cheyenne as a windows service? | |
BrianH: 25-Jun-2007 | Firedaemon might be running Cheyenne as a different user. | |
Graham: 26-Jun-2007 | Or, is it because # is not a legal character in a url? | |
Graham: 26-Jun-2007 | Is there a limit to how much you can send in a Post command? | |
Graham: 26-Jun-2007 | As you might have read from above, I am attempting to post postscript to a RSP script to convert to PDF. 4k of postscript sees the script complete. But 92Kb of postscript - and I get this response make object! [ code: 800 type: 'user id: 'message arg1: {Error. Target url: https://www.compkarori.co.nz:443/cgi-bin/createpdf.rsp could not be retrieved. Server response: none} arg2: none arg3: none near: [page: read/custom https://www.compkarori.co.nz/cgi-bin/createpdf.rsp reduce ['POST join "content=" content]] where: none ] | |
Graham: 26-Jun-2007 | I think a POST should be okay with 100kb of text .. so perhaps there is problem with Cheyenne's handling? | |
Graham: 26-Jun-2007 | Maybe I should try and simulate a multipart form post on the client side instead?? | |
Dockimbel: 26-Jun-2007 | Check your httpd.cfg file to see if you find a 'post-max directive. | |
Oldes: 26-Jun-2007 | # is a legal url char... Rebol's decode-url is full of bugs for example this url is bad decoded as well: http://test/path/target?text/something | |
Graham: 26-Jun-2007 | I did a grep on the sources,and I can only find post-max in 2 files ... mod-static post-max: [integer!] in main httpd.r limit: select req/cfg 'post-max | |
Graham: 26-Jun-2007 | I guess I'll just create a limit in httpd.r | |
Graham: 27-Jun-2007 | So, if you try page: read/custom https://www.compkarori.co.nz/show.cgireduce [ 'post join "content=" content ] then this fails if content is a few kbs but if you do page: read/custom http://www.compkarori.co.nz:8100/show.cgi reduce [ 'post join "content=" content ] it works fine. | |
Graham: 27-Jun-2007 | What a shame. |
16901 / 64608 | 1 | 2 | 3 | 4 | 5 | ... | 168 | 169 | [170] | 171 | 172 | ... | 643 | 644 | 645 | 646 | 647 |