• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

AltME groups: search

Help · search scripts · search articles · search mailing list

results summary

worldhits
r4wp97
r3wp1238
total:1335

results window for this page: [start: 201 end: 300]

world-name: r3wp

Group: All ... except covered in other channels [web-public]
Pekr:
5-Jan-2005
hmm, I can't get request-file to work from script .... only from 
console ...
Pekr:
5-Jan-2005
file: request-file/keep/file/filter  %../ "*.txt"
Group: !AltME ... Discussion about AltME [web-public]
Henrik:
1-Mar-2006
I must request a feature to create source files directly within the 
filesharing area. if it works how I think it works, this could be 
used for a form of collaborative editing
[unknown: 10]:
1-Mar-2006
Yes That was a feature request frmo 2 years ago from me too, Clear 
all unread messages with 1 click..
Henrik:
19-Mar-2006
tiny feature request: Arrow buttons in the calendar event to quickly 
set date -/+ 1 in calendar events
[unknown: 10]:
21-Mar-2006
Option request: Changing Nickname..Now that is probaly not possible 
but I guess that switching Nick <-> Realname is an option?
Kaj:
31-Mar-2006
Sorry if this has been mentioned before. Feature request: make backspace 
in a file sharing window go to the parent directory
Kaj:
31-Mar-2006
Feature request: make new folder permissions default to those of 
the parent folder
Sunanda:
5-Apr-2006
Edgar -- I cam think of two drawbacks to that suggested forced resyn 
method:

1. the files themselves contain the request: " DO NOT MODIFY!" in 
their header, so perhaps Altme can forsee bad consequences if we 
do

2. the resync problem appears to mainly affect those on dial up connections. 
Possibly, that means the issue is related to Altme timing out a slow 
request. So there is the likelihood that resyncing a large group 
completely will simply fail midway.
Sunanda:
5-Apr-2006
I did try a variant of your suggestion: I renamed one of the *.set 
files to *.txt (the request does not say "DO NOT DELETE OR RENAME!")
It didn't work.
I ended up with an empry group.

I supposed I shoudl have dotted it to see if it'd've resynced.....But 
that was the problem we're trying to solve :-)
Henrik:
13-May-2006
another feature request: when people use background colors, make 
some kind of algorithm that would make it impossible for the text 
color and the background color collide. :-)
Brock:
1-Jun-2006
My second feedback/request was asking to only have to type in user 
credentials once per AltMe session.  I don't auto-populate my userid 
and password as this computer is a multi-user computer that doesn't 
take advantage of the built-in OS multi-user features (setup as single 
user).  So, switching between Worlds requires me to login each time 
I visit worlds I was already logged into.
Group: RAMBO ... The REBOL bug and enhancement database [web-public]
BrianH:
13-May-2005
I second the request for comment!
DideC:
16-May-2005
With 1.2.107 (and may be others), when I launch a script from the 
desktop (clicking its icon) the new interpreter open a security request 
to read %rebol.r in the directory where the interpreter is (ie: %/c/rebol/view/).
Something wrong with 'secure setting ?
Brett:
19-May-2005
Gabriele: #3402 is an outstanding bug when using /CUSTOM refinement. 
 An example is submitting a  form over http using REBOL. You need 
to specify both HEADER and POST. For example:

   read/custom url [HEADER [Content-Type: {multipart/form-data; boundary=---xyz} 
   ] POST {blah}]

The problem is that the handling of POST *overwrites* the Content-Type 
and Referer even though they may have been specified in HEADER. This 
logic bug is within the create-request function of Open in HTTP scheme.
Vincent:
25-May-2005
request : to really test new AGG/draw, we needs a command list. The 
examples helps, but there is now way to tell the presence and purpose 
of optional parameters. Not a full doc, just a simple one line per 
command list, ie : 'line 1st-point [pair!] 2nd-point [pair!] ... 
n-point [pair!]
Carl:
9-Jun-2005
This is a complex request - because all earlier versions of REBOL 
were installed the same way, as well as many other apps.
Group: Core ... Discuss core issues [web-public]
Romano:
25-Feb-2005
and yes Robert,  i do not like split-path behaviour in many cases 
(see RAMBO discussions about this), but i do not think that your 
request is good, from my pov 
	%a/b/
should give
	%a/   %b/              = the dir b inside the dir a
or
	%a/b/   %./	     = the current dir inside the dir %a/b/

this is inconsistent with:

	>> split-path %./ ; == [%./ none]

but i think the last behavior should change in this

	%./    %./
Graham:
9-Mar-2005
>> res: read dig://203.96.152.4/MX/www.compkarori.com
connecting to: 203.96.152.4
>> print res/to-str
;; REQUEST: MX(15) for www.compkarori.com

;; id: 52715 AA: 0.0 RD: 1.0 RA: 1.0 ANSWER(s): 0 AUTHORITY(s): 1 
ADDITIONAL(s): 0

;; ANSWER(s):

;; AUTHORITY(s)

compkarori.com. 531 SOA ns1.webxess.net.  postmaster.webxess.net. 
 2005030501  10800  3600  1209600  600

;; ADDITIONAL(s)
Graham:
9-Mar-2005
actually, this is the form I used 

>> res: read dig://203.96.152.4/MX/compkarori.com
connecting to: 203.96.152.4
>> probe res/to-str
{;; REQUEST: MX(15) for compkarori.com

;; id: 53188 AA: 0.0 RD: 1.0 RA: 1.0 ANSWER(s): 2 AUTHORITY(s): 3 
ADDITIONAL(s): 3

;; ANSWER(s):
compkarori.com.^-247^-MX^-0   pop.compkarori.com.
compkarori.com.^-247^-MX^-10   pop.compkarori.com.

;; AUTHORITY(s)
compkarori.com.^-596^-NS^-ns3.webxess.net.
compkarori.com.^-596^-NS^-ns1.webxess.net.
compkarori.com.^-596^-NS^-ns2.webxess.net.

;; ADDITIONAL(s)
pop.compkarori.com.^-596^-A^-203.79.110.37
ns1.webxess.net.^-69731^-A^-216.166.83.11
ns2.webxess.net.^-69731^-A^-216.166.83.12
}
Micha:
30-Apr-2005
rebol []

conn: make port! tcp://:80



black-lista: [ 69.64.51.223 194.69.207.145 80.252.0.145 194.69.207.165 
217.73.17.115]




adns: open/no-wait make port! dns:///async

adns/awake: func [port /local dat][                
		
		data: copy port

                print data
		
		false 
	]				

insert tail system/ports/wait-list adns





heandler: func [ port /local data dns  ]

               [ print "new connetion"

               serwer: first port

               client: make port! tcp://222.76.73.113:1080
              
               
               serwer/sub-port: client
               client/sub-port: serwer

               set-modes client [no-wait: true timeout: 00:01:00]
               set-modes serwer [no-wait: true ]

                          
 wait serwer
             
data: copy serwer



dns: to-tuple copy/part skip to-binary  data 4 4  

insert adns dns ;print dns name



either find black-lista dns [ close serwer  print "firtled" print 
read join dns:// dns ]
                           

                            [ insert serwer  join #{005A} [debase/base  skip to-hex serwer/port-id 
                            4 16 to-binary dns ] 



insert tail system/ports/timeout-list client

      open/binary client 

ping: to-integer  (0:01:00 - get-modes client 'timeout )* 1000 

  print [ "open" ping ]
                                                


                              insert client data

                              wait client

data: copy client



client/awake: :response

serwer/awake: :request

insert tail system/ports/wait-list  client


insert tail system/ports/wait-list  serwer







] 



       false         
]




request: func [ port /local data   ] 

              [ data: make string! 10000
               read-io port data 10000

                either data <> {} [ 
                                    insert port/sub-port data ] 

                            [  close port 

                              remove find system/ports/wait-list port port
                              print "close connetion serwer"

                              print length? system/ports/wait-list
                               ]

                 halt]




       
   


  
response: func [ port /local data   ] 

               [ data: make string! 10000
               read-io port data 10000

 
               either data <> {} [ 
                             insert port/sub-port data  ]

                            [  close port 

                              remove find system/ports/wait-list port port
                              print "close connetion client"

                              print length? system/ports/wait-list
                             ]

                 halt]




conn/awake: :heandler

set-modes conn [no-wait: false]

insert tail system/ports/wait-list  conn

open/direct/binary conn


print "proxy"

halt
Allen:
9-May-2005
Use request-download as a guide. It has everything you need to know. 
you should be able to substitute read-thru with read-net if you wish.
Allen:
10-May-2005
Janek. request-download has the example callback you need. View its 
source. here is a snippet. Where prog is the progressbar and stat 
is a label in your layout and stop is a value that controls that 
should be be set false outside of this func to start with, and can 
set to true via a cancel button to force a download to stop before 
completion. 
func [total bytes] [
        prog/data: bytes / (max 1 total) 
        stat/text: reform [bytes "bytes"] 
        show [prog stat] 
        not stop
    ]
Micha:
5-Jun-2005
rebol [ title: "SOCKS SERWER" ]

conn: make port! tcp://:800

proxy: make object! [ host: 208.59.117.69
                      port: 2988  ]



black-lista: [ 69.64.51.223 194.69.207.145 80.252.0.145 194.69.207.165 
217.73.17.115]




adns: open/no-wait make port! dns:///async

adns/awake: func [port /local data][                
		
		data: copy port

                print data
		
		false 
	]				

insert tail system/ports/wait-list adns





heandler: func [ port /local data dns  serwer client]

               [ serwer: first port

                          
 wait serwer
             
data: copy serwer
;data: make string! 10000
;read-io serwer data 10000
print ["data1" to-binary data]

dns: to-tuple copy/part skip to-binary  data 4 4  

insert adns dns ;print dns name



either find black-lista dns [ close serwer  print "firtled" print 
read join dns:// dns ]
                           
                            [ print "new connetion"

insert serwer  join #{005A} [debase/base  skip to-hex serwer/port-id 
4 16 to-binary dns ] 


client: make port! [ scheme: 'tcp 
                     host: system/words/proxy/host
                     port-id: system/words/proxy/port
]



;insert tail system/ports/timeout-list client

      open/no-wait/binary/async/direct client :response


client/sub-port: serwer





insert tail system/ports/wait-list  client

client/date: data

serwer/sub-port: client

serwer/awake: :request









] 



       false         
]




request: func [ port /local data  f ] 

              [ data: make string! 10000
               read-io port data 10000


if f: find data "GET /favicon.ico" [ insert port "HTTP/1.1 404 Not 
Found" 
                                      print "favicon.ico"]
 


                either (data <> {}) and not f [     print [ "data3" data  ]
                              

                                if error? try [    write-io port/sub-port data length? data ][ print 
                                "error: close serwer"]
                                   ; insert port/sub-port data 
]

                            [  close port 

                              remove find system/ports/wait-list port port
                               close port/sub-port

                              remove find system/ports/wait-list port/sub-port port/sub-port
                              print "close connetion client"

                               print length? system/ports/wait-list
                               ]

               false]




       
   


  
response: func [ port e a /local data  f  ] 

               [  switch e [ open [ insert port port/date ]
                                    
                             read [ data: copy/part port a

                                   either ( a <> 8 ) [write-io port/sub-port data length? data] 

                                                     [  insert tail system/ports/wait-list  port/sub-port ]
                                    ]
                                     
                             close [ close port 

                                     remove find system/ports/wait-list port port
                                     close port/sub-port

                                     remove find system/ports/wait-list port/sub-port port/sub-port

                                       print "close connetion serwer"

                                      print length? system/ports/wait-list]
 

                          ]   ]


start: func [] [

conn: make port! tcp://:800

conn/awake: :heandler

set-modes conn [no-wait: false]

insert tail system/ports/wait-list  conn

open/no-wait/direct/binary conn ]


stop: func [][ close conn
               remove find system/ports/wait-list conn]

set-proxy: func [ h p ] [ proxy/host: h
                          proxy/port: p ]
                          


print "proxy"

lay:  layout [ backdrop blue
              across  h3  red "PROXY" f: field 145 
              return
              button green "start" [ p: parse f/text  ":"
                                     remove find p "" 

                                     set-proxy  to-tuple p/1  to-integer p/2
                                     source p
                                    
                                     start]
              button  green "stop" [f/text: "" stop ] ]

view/offset lay 4x29 
halt
JaimeVargas:
17-Jun-2005
Not finding a value is not necesarily and error, that the reason 
find returns NONE. But it is an error to request the index of none.
JaimeVargas:
8-Jul-2005
Also if you write document your script really well and show the code 
is easy to follow (cookbook tutorial) you may gain your boss trust 
and their request for other agents inside your company to learn Rebol.
Group: Script Library ... REBOL.org: Script library and Mailing list archive [web-public]
Sunanda:
25-Sep-2009
Something new in the Library....If you own scripts, you can add images 
to them to make it all a bit more graphic.

Only example to date here:
    http://www.rebol.org/view-script.r?script=ascii-chart.r

Notes about how to add images to yoour scripts here:
    http://www.rebol.org/boiler.r?display=script-images

Thanks to Maxim for the original change request.
Maxim:
13-Dec-2009
exactly... but just adding that button in the menu (even if there 
are only on or two script which are tagged atm) will help raise awareness 
about the need to tag stuff and to add new r3 content to rebol.org.


that's just my two cents... right now... rebol.org fives the impression 
it doesn't support r3 at all.  maybe a little post on rebol weekly 
to promote the use of r3 tags and a quiet request to carl to blog 
about it on the r3 blog, where MANY people go for r3 news.
Sunanda:
22-Jul-2010
Yes, a simple request, but a tough problem to get right in all practical 
cases.
Sunanda:
22-Jul-2010
Sometimes users ask for things that are not practical for other users, 
and thus us poor developers have to make choices that can leave some 
unhappy :)
Suppose I wanted this code to execute the first code block....

  do http://synapse-ehr.com/forums/showthread.php?120-RebGUI-table

....That's a reasonable request for me. But is it for all users, 
such as Rixbot?
NickA:
22-Jul-2010
My 2 cents:  I like the way the links work now, but I also echoed 
Graham's request when I initially started using rebol.org.  Is it 
possible to hide a copy of the actual (downloadable script) code, 
at the top of the web page, so that it's executable by REBOL, but 
not visible by those using a browser?
sqlab:
2-Feb-2011
The server encountered an internal error or misconfiguration and 
was unable to complete your request.


Please contact the server administrator and inform them of the time 
the error occurred, and anything you might have done that may have 
caused the error.


More information about this error may be available in the server 
error log.

Apache server at www7.swcp.com
sqlab:
2-Feb-2011
Sorry! LDS error: 400 0 can't connect
Request: get-script
Parameters: rebtut-indexer.r
Group: Parse ... Discussion of PARSE dialect [web-public]
BrianH:
1-Nov-2005
Ladislav, while you're here, tell me what you think of this draft 
of the RAMBO request:
Group: Linux ... [web-public] group for linux REBOL users
Anton:
17-Dec-2006
Post the REQUEST-FILE source then, we can have a look.
Graham:
17-Dec-2006
request-file: func [

    {Requests a file using a popup list of files and directories.} 
    /title "Change heading on request." 
    title-line "Title line of request" 
    button-text "Button text for selection" 
    /file name "Default file name or block of file names" 
    /filter filt "Filter or block of filters" 
    /keep "Keep previous settings and results" 
    /only "Return only a single file, not a block." 
    /path "Return absolute path followed by relative files." 
    /save "Request file for saving, otherwise loading." 
    /local where data filt-names filt-values
][
    if none? out start-out 
    either file [

        either block? name [picked: copy name] [picked: reduce [to-file name]]
    ] [
        if not keep [picked: copy []]
    ] 
    if none? picked [picked: copy []] 
    if file: picked/1 [where: first split-path file] 
    while [not tail? picked] [
        set [name file] split-path first picked 
        either name <> where [remove picked] [
            change picked file 
            picked: next picked
        ]
    ] 
    picked: head picked 
    if any [not where not exists? where] [where: clean-path %.] 
    if not keep [
        fp/data: head fp/data 
        so/data: head so/data 
        si: 1
    ] 
    either filter [
        filters: either block? filt [filt] [reduce [filt]]
    ] [if any [not keep not block? filters] [pick-filter]] 
    ff/text: form filters 
    tt/text: either title [copy title-line] ["Select a File:"] 
    ob/text: either title [copy button-text] ["Select"] 
    if all [
        error? done: try [
            filt-names: copy head fp/data 
            filt-values: copy filter-list 
            either filter [
                insert head filt-names "Custom" 
                insert/only filt-values filters
            ] [
                filt-names: at filt-names index? fp/data
            ] 
            done: local-request-file data: reduce 

            [tt/text ob/text clean-path where picked filt-names filt-values found? 
            any [only] found? any [save]] 
            if done [
                dir-path: data/3 
                picked: data/4 

                if not filter [fp/data: at head fp/data index? data/5]
            ] 
            done
        ] 
        (get in disarm done 'code) = 328
    ] [
        done: false 
        read-dir/full either where [where] [dir-path] 
        show-pick 
        inform out 
        unfocus
    ] 
    if error? done [done] 
    if all [done picked any [path not empty? picked]] [
        either path [
            done: insert copy picked copy dir-path 
            either only [done/1] [head done]
        ] [
            foreach file picked [insert file dir-path] 
            either only [picked/1] [picked]
        ]
    ]
]
Anton:
17-Dec-2006
This is the same source as on Windows.

REQUEST-FILE is just a wrapper for LOCAL-REQUEST-FILE, which is native 
on Windows and I suppose might be native on Linux.

You must post source of LOCAL-REQUEST-FILE or rambo the problem if 
it is native.
Anton:
17-Dec-2006
Ok, so post the source of LOCAL-REQUEST-FILE here.
Anton:
17-Dec-2006
REQUEST-FILE used to be fully mezzanine.
Does the linux request-file look like this one from View 1.2.1 ?
Anton:
17-Dec-2006
request-file: func [

    {Requests a file using a popup list of files and directories.}
    /title "Change heading on request."
    title-line "Title line of request"
    button-text "Button text for selection"
    /file name "Default file name or block of file names"
    /filter filt "Filter or block of filters"
    /keep "Keep previous settings and results"
    /only "Return only a single file, not a block."
    /path "Return absolute path followed by relative files."
    /local where
][
    if none? out start-out
    done: false
    either file [

        either block? name [picked: copy name] [picked: reduce [to-file name]]
    ] [
        if not keep [picked: copy []]
    ]
    if none? picked [picked: copy []]
    if file: picked/1 [where: first split-path file]
    while [not tail? picked] [
        set [name file] split-path first picked
        either name <> where [remove picked] [
            change picked file
            picked: next picked
        ]
    ]
    picked: head picked
    if any [not where not exists? where] [where: clean-path %.]
    if not keep [
        fp/data: head fp/data
        so/data: head so/data
        si: 1
    ]
    either filter [
        filters: either block? filt [filt] [reduce [filt]]
    ] [if any [not keep not block? filters] [pick-filter]]
    ff/text: form filters
    tt/text: either title [copy title-line] ["Select a File:"]
    ob/texts/1: either title [copy button-text] ["Select"]
    read-dir/full either where [where] [dir-path]
    show-pick
    inform out
    unfocus
    if all [done picked any [path not empty? picked]] [
        either path [
            done: insert copy picked copy dir-path
            either only [done/1] [head done]
        ] [
            foreach file picked [insert file dir-path]
            either only [picked/1] [picked]
        ]
    ]
]
Anton:
17-Dec-2006
(LOCAL-REQUEST-FILE was introduced by View 1.2.5, by the way.)
Volker:
17-Dec-2006
request-file has a premade layout somewhere. Use that. You have the 
source for request-file in the sdk-sources. Needs some binding-tricks 
if you dont use the real source.
Anton:
18-Dec-2006
Playing with View 1.2.1 REQUEST-FILE

You can bind the patched REQUEST-FILE body to the REQ-FILE context, 
and that makes it work.
Group: Dialects ... Questions about how to create dialects [web-public]
BrianH:
25-Jun-2010
Yeah, and it can't be backported as mezzanine either (tried already). 
I'll request a native.
Group: !Uniserve ... Creating Uniserve processes [web-public]
Will:
6-Jan-2007
Pekr: have forwarded decon07 update request.
Pekr:
30-Jan-2007
Maarten later on introduced so called "green threading" (?), so you 
can divide your exposed function functionality in several or many 
parts, to get better granularity. Then he introduced chaining- so 
that e.g. main Rugby process could become kind of proxy, and forward 
(chain) request to other instance. But then there were some problems 
iirc and Maarten left its development.
Group: Hardware ... Computer Hardware Issues [web-public]
Louis:
10-Apr-2006
My wife wants a computer so small she can put it in her purse and 
not even know it is there. But it has to be able to do all the work 
of a desktop with a 21 inch monitor.  You can see that her's is a 
real reasonable request.
Group: SVG Renderer ... SVG rendering in Draw AGG [web-public]
shadwolf:
23-Jun-2005
REBOL [
	Title:		"SVG Demo"
	Owner:		"Ashley G. Trüter"
	Version:	0.0.1
	Date:		21-Jun-2005
	Purpose:	"Loads and displays a resizeable SVG file."
	History: {
		0.0.1	Initial release
	}
	Notes: {
		Tested on very simple SVG icons
		Only a few basic styles / attributes / commands supported

  Does not handle sizes in units other than pixels (e.g. pt, in, cm, 
  mm, etc)

  SVG path has an optional close command, "z" ... AGG shape equivalent 
  auto-closes

  load-svg function needs to be totally refactored / optimized ... 
  *sample only*
	}
]

;	The following commands are available for path data:
;
;		M = moveto
;		L = lineto
;		H = horizontal lineto
;		V = vertical lineto
;		C = curveto
;		S = smooth curveto
;		Q = quadratic Belzier curve
;		T = smooth quadratic Belzier curveto
;		A = elliptical Arc
;		Z = closepath

;print: none	; comment out this line to enable debug messages

load-svg: function [svg-file [file! string!] size [pair!]] [

 id defs x y to-color to-byte draw-blk append-style svg-size scale-x 
 scale-y
][
	xml: either string? svg-file [parse-xml svg-file] [

  unless %.svg = suffix? svg-file [to error! "File has an invalid suffix!"]
		parse-xml read svg-file
	]

 unless xml/3/1/1 = "svg" [to error! "Could not find SVG header!"]

 ;unless find ["id" "xmlns"] xml/3/1/2/1 [to error! "Could not find 
 ID header!"]

 ;unless xml/3/1/3/1/1 = "defs" [to error! "Could not find DEFS header!"]

	id: xml/3/1/2
	defs: xml/3/1/3


	;
	;	--- Parse SVG id
	;

	svg-size: either find ["32pt" "48pt" "72pt"] select id "width" [
		switch select id "width" [
			"72pt"	[120x120]
			"48pt"	[80x80]
			"32pt"	[60x60]
		]
	][

  as-pair to integer! any [select id "width" "100"] to integer! any 
  [select id "height" "100"]
	]

	x: to integer! any [select id "x" "0"]
	y: to integer! any [select id "y" "0"]

	scale-x: size/x / svg-size/x
	scale-y: size/y / svg-size/y

	;
	;	--- Helper functions
	;


 to-color: func [s [string!]] [	; converts a string in the form "#FFFFFF" 
 to a 4-byte tuple
		to tuple! load rejoin ["#{" next s "00}"]
	]


 to-byte: func [s [string!]] [	; converts a string with a value 0-1 
 to an inverted byte
		255 - to integer! 255 * to decimal! s
	]

	;
	;	--- Parse SVG defs
	;

	draw-blk: copy []

	append-style: function [
		command [string!] blk [block!]
	][
		x xy pen-color fill-color line-width mode size radius shape
		closed? matrix transf-command
	][
		xy: 0x0
		size: 0x0
		line-width: 1
		matrice: make block! []
		radius: none
		transf-command: none
		
		
		foreach [attr val] blk [
			switch attr [
				"transform" [print "tranform have been found" 
						;probe val halt 
						val: parse val "(),"
						transf-command: first val
						probe transf-command
						switch transf-command [
							"matrix" [ 
								foreach word val [
									if not find word "matrix"
									[ 
										insert tail matrice to-decimal word
									]
								]
							
							]
						]
				]
				"style" [
					foreach [attr val] parse val ":;" [
						switch/default attr [
						
							"font-size" [ ]
							"stroke" [
								switch/default first val [
									#"#" [pen-color: to-color val]
									#"n" [pen-color: none]
								][
									print ["Unknown stroke:" val]
								]
							]
							"stroke-width" [line-width: to decimal! val]
							"fill" [
								fill-color: switch/default first val [
									#"#" [to-color val]
									#"n" [none]
								][
									print ["Unknown fill value:" val]
									none
								]
							]
							"fill-rule" [
								mode: switch/default val [
									"evenodd"	['even-odd]
								][
									print ["Unknown fill-rule value:" val]
									none
								]
							]

       "stroke-opacity" [pen-color: any [pen-color 0.0.0.0] pen-color/4: 
       to-byte val]

       "fill-opacity" [fill-color: any [fill-color 0.0.0.0] fill-color/4: 
       to-byte val]
							"stroke-linejoin" [
								insert tail draw-blk switch/default val [
									"miter"		[compose [line-join miter]]
									"round"		[compose [line-join round]]
									"bevel"		[compose [line-join bevel]]
								][
									print ["Unknown stroke-linejoin value:" val]
									none
								]
							]
							"stroke-linecap" [
								insert tail draw-blk 'line-cap
								insert tail draw-blk to word! val
							]
						][
							print ["Unknown style:" attr]
						]
					]
				]
				"x"			[xy/x: scale-x * val]
				"y"			[xy/y: scale-y * val]
				"width"		[size/x: scale-x * val]
				"height"	[size/y: scale-y * val]
				"rx"		[print "rx"]
				"ry"		[radius: to decimal! val]
				"d"	[
					shape: copy []
					x: none
					closed?: false
					foreach token load val [
						switch/default token [
							M	[insert tail shape 'move]
							C	[insert tail shape 'curve]
							S   [insert tail shape 'curv]
							L	[insert tail shape 'line]
							Q   [insert tail shape 'qcurve]
							T   [insert tail shape 'qcurv]
							z	[closed?: true]
							H   [insert tail shape 'hline]
							V   [insert tail shape 'vline]
							A   [insert tail shape 'arc]
						][

       unless number? token [print ["Unknown path command:" token]]

       either x [insert tail shape as-pair x scale-y * token x: none] [x: 
       scale-x * token]
						]
					]
				]
			]
		]
		insert tail draw-blk compose [
			pen (pen-color)
			fill-pen (fill-color)
			fill-rule (mode)
			line-width (line-width * min scale-x scale-y)
		]
		switch command [
			"rect" [
				insert tail draw-blk compose [box (xy) (xy + size)]
				if radius [insert tail draw-blk radius]
			]
			"path" [
				unless closed? [print "Path closed"]
				either transf-command <> none  [
					switch transf-command [

      "matrix" [insert tail draw-blk compose/only [ (to-word transf-command) 
      (matrice) shape (shape) reset-matrix]]
					]
				][
					insert tail draw-blk compose/only [shape (shape)]
			 	]
				]

   "g" [ print "Write here how to handle G insertion to Draw block" 

    insert tail draw-blk probe compose/only [reset-matrix (to-word transf-command) 
    (matrice)]
				
				]
			]
	]	
  
	probe defs
	foreach blk defs [
		switch first blk [
			"rect"	[append-style first blk second blk]
			"path"	[append-style first blk second blk]
			"g"		[
						print "key word" probe first blk  
						print "matrix and style in G" probe second blk  
						append-style first blk second blk 
						;print "what to draw in G" probe third blk
						foreach blk2 third blk [
							probe blk2
							switch first blk2[ 
								"path" [append-style first blk2 second blk2]
							]
						]
					]
		]
	]
	
	
probe draw-blk
	draw-blk
]

view make face [
	offset:	100x100
	size:	200x200
	action:	request-file/filter/only "*.svg"
	text:	rejoin ["SVG Demo [" last split-path action "]"]
	data:	read action
	color:	white
	effect:	compose/only [draw (load-svg data size)]
	edge: font: para: none
	feel: make feel [
		detect: func [face event] [
			if event/type = 'resize [
				insert clear face/effect/draw load-svg face/data face/size
				show face
			]
			if event/type = 'close [quit]
		]
	]
	options: [resize]
]
shadwolf:
23-Jun-2005
REBOL [
	Title:		"SVG Demo"
	Owner:		"Ashley G. Trüter"
	Version:	0.0.1
	Date:		21-Jun-2005
	Purpose:	"Loads and displays a resizeable SVG file."
	History: {
		0.0.1	Initial release
	}
	Notes: {
		Tested on very simple SVG icons
		Only a few basic styles / attributes / commands supported

  Does not handle sizes in units other than pixels (e.g. pt, in, cm, 
  mm, etc)

  SVG path has an optional close command, "z" ... AGG shape equivalent 
  auto-closes

  load-svg function needs to be totally refactored / optimized ... 
  *sample only*
	}
]

;	The following commands are available for path data:
;
;		M = moveto
;		L = lineto
;		H = horizontal lineto
;		V = vertical lineto
;		C = curveto
;		S = smooth curveto
;		Q = quadratic Belzier curve
;		T = smooth quadratic Belzier curveto
;		A = elliptical Arc
;		Z = closepath

;print: none	; comment out this line to enable debug messages

load-svg: function [svg-file [file! string!] size [pair!]] [

 id defs x y to-color to-byte draw-blk append-style svg-size scale-x 
 scale-y
][
	xml: either string? svg-file [parse-xml svg-file] [

  unless %.svg = suffix? svg-file [to error! "File has an invalid suffix!"]
		parse-xml read svg-file
	]

 unless xml/3/1/1 = "svg" [to error! "Could not find SVG header!"]

 ;unless find ["id" "xmlns"] xml/3/1/2/1 [to error! "Could not find 
 ID header!"]

 ;unless xml/3/1/3/1/1 = "defs" [to error! "Could not find DEFS header!"]

	id: xml/3/1/2
	defs: xml/3/1/3


	;
	;	--- Parse SVG id
	;

	svg-size: either find ["32pt" "48pt" "72pt"] select id "width" [
		switch select id "width" [
			"72pt"	[120x120]
			"48pt"	[80x80]
			"32pt"	[60x60]
		]
	][

  as-pair to integer! any [select id "width" "100"] to integer! any 
  [select id "height" "100"]
	]

	x: to integer! any [select id "x" "0"]
	y: to integer! any [select id "y" "0"]

	scale-x: size/x / svg-size/x
	scale-y: size/y / svg-size/y

	;
	;	--- Helper functions
	;


 to-color: func [s [string!]] [	; converts a string in the form "#FFFFFF" 
 to a 4-byte tuple
		to tuple! load rejoin ["#{" next s "00}"]
	]


 to-byte: func [s [string!]] [	; converts a string with a value 0-1 
 to an inverted byte
		255 - to integer! 255 * to decimal! s
	]

	;
	;	--- Parse SVG defs
	;

	draw-blk: copy []

	append-style: function [
		command [string!] blk [block!]
	][
		x xy pen-color fill-color line-width mode size radius shape
		closed? matrix transf-command
	][
		xy: 0x0
		size: 0x0
		line-width: 1
		matrice: make block! []
		radius: none
		transf-command: none
		
		
		foreach [attr val] blk [
			switch attr [
				"transform" [print "tranform have been found" 
						;probe val halt 
						val: parse val "(),"
						transf-command: first val
						probe transf-command
						switch transf-command [
							"matrix" [ 
								foreach word val [
									if not find word "matrix"
									[ 
										insert tail matrice to-decimal word
									]
								]
							
							]
						]
				]
				"style" [
					foreach [attr val] parse val ":;" [
						switch/default attr [
						
							"font-size" [ ]
							"stroke" [
								switch/default first val [
									#"#" [pen-color: to-color val]
									#"n" [pen-color: none]
								][
									print ["Unknown stroke:" val]
								]
							]
							"stroke-width" [line-width: to decimal! val]
							"fill" [
								fill-color: switch/default first val [
									#"#" [to-color val]
									#"n" [none]
								][
									print ["Unknown fill value:" val]
									none
								]
							]
							"fill-rule" [
								mode: switch/default val [
									"evenodd"	['even-odd]
								][
									print ["Unknown fill-rule value:" val]
									none
								]
							]

       "stroke-opacity" [pen-color: any [pen-color 0.0.0.0] pen-color/4: 
       to-byte val]

       "fill-opacity" [fill-color: any [fill-color 0.0.0.0] fill-color/4: 
       to-byte val]
							"stroke-linejoin" [
								insert tail draw-blk switch/default val [
									"miter"		[compose [line-join miter]]
									"round"		[compose [line-join round]]
									"bevel"		[compose [line-join bevel]]
								][
									print ["Unknown stroke-linejoin value:" val]
									none
								]
							]
							"stroke-linecap" [
								insert tail draw-blk 'line-cap
								insert tail draw-blk to word! val
							]
						][
							print ["Unknown style:" attr]
						]
					]
				]
				"x"			[xy/x: scale-x * val]
				"y"			[xy/y: scale-y * val]
				"width"		[size/x: scale-x * val]
				"height"	[size/y: scale-y * val]
				"rx"		[print "rx"]
				"ry"		[radius: to decimal! val]
				"d"	[
					shape: copy []
					x: none
					closed?: false
					if all [x not number? token] [

          insert tail shape x * either token = 'V [scale-y][scale-x]
  						    x: none
					]
					foreach token load val [
						switch/default token [
							M	[insert tail shape 'move]
							C	[insert tail shape 'curve]
							S   [insert tail shape 'curv]
							L	[insert tail shape 'line]
							Q   [insert tail shape 'qcurve]
							T   [insert tail shape 'qcurv]
							z	[closed?: true]
							H   [insert tail shape 'hline]
							V   [insert tail shape 'vline]
							A   [insert tail shape 'arc]
						][

       unless number? token [print ["Unknown path command:" token]]

       either x [insert tail shape as-pair x scale-y * token x: none] [x: 
       scale-x * token]
						]
					]
				]
			]
		]
		insert tail draw-blk compose [
			pen (pen-color)
			fill-pen (fill-color)
			fill-rule (mode)
			line-width (line-width * min scale-x scale-y)
		]
		switch command [
			"rect" [
				insert tail draw-blk compose [box (xy) (xy + size)]
				if radius [insert tail draw-blk radius]
			]
			"path" [
				unless closed? [print "Path closed"]
				either transf-command <> none  [
					switch transf-command [

      "matrix" [insert tail draw-blk compose/only [ (to-word transf-command) 
      (matrice) shape (shape) reset-matrix]]
					]
				][
					insert tail draw-blk compose/only [shape (shape)]
			 	]
				]

   "g" [ print "Write here how to handle G insertion to Draw block" 

    insert tail draw-blk probe compose/only [reset-matrix (to-word transf-command) 
    (matrice)]
				
				]
			]
	]	
  
	probe defs
	foreach blk defs [
		switch first blk [
			"rect"	[append-style first blk second blk]
			"path"	[append-style first blk second blk]
			"g"		[
						print "key word" probe first blk  
						print "matrix and style in G" probe second blk  
						append-style first blk second blk 
						;print "what to draw in G" probe third blk
						foreach blk2 third blk [
							probe blk2
							switch first blk2[ 
								"path" [append-style first blk2 second blk2]
							]
						]
					]
		]
	]
	
	
probe draw-blk
	draw-blk
]

view make face [
	offset:	100x100
	size:	200x200
	action:	request-file/filter/only "*.svg"
	text:	rejoin ["SVG Demo [" last split-path action "]"]
	data:	read action
	color:	white
	effect:	compose/only [draw (load-svg data size)]
	edge: font: para: none
	feel: make feel [
		detect: func [face event] [
			if event/type = 'resize [
				insert clear face/effect/draw load-svg face/data face/size
				show face
			]
			if event/type = 'close [quit]
		]
	]
	options: [resize]
]
Group: Rebol School ... Rebol School [web-public]
Vladimir:
5-Nov-2008
Here is log from rebol ftp upload:


No.     Time        Source                Destination           Protocol 
Info

     67 3.356898    192.168.2.108         194.9.94.127          TCP   
        spiral-admin > ftp [SYN] Seq=0 Win=16384 Len=0 MSS=1460

     79 3.982028    194.9.94.127          192.168.2.108         TCP   
        ftp > spiral-admin [SYN, ACK] Seq=0 Ack=1 Win=16384 Len=0 MSS=1100

     80 3.982082    192.168.2.108         194.9.94.127          TCP   
        spiral-admin > ftp [ACK] Seq=1 Ack=1 Win=16500 Len=0

     90 4.056926    194.9.94.127          192.168.2.108         FTP   
        Response: 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------

     92 4.057544    192.168.2.108         194.9.94.127          FTP   
        Request: USER visaprom.com

    102 4.129540    194.9.94.127          192.168.2.108         FTP  
        Response: 331 User visaprom.com OK. Password required

    103 4.129689    192.168.2.108         194.9.94.127          FTP  
        Request: PASS Du4m1t0R

    106 4.241608    194.9.94.127          192.168.2.108         FTP  
        Response: 230-User visaprom.com has group access to:  www    
     

    107 4.241781    192.168.2.108         194.9.94.127          FTP  
        Request: SYST

    118 4.305921    194.9.94.127          192.168.2.108         FTP  
        Response: 215 UNIX Type: L8

    119 4.306117    192.168.2.108         194.9.94.127          FTP  
        Request: PWD

    134 4.367656    194.9.94.127          192.168.2.108         FTP  
        Response: 257 "/" is your current location

    136 4.370939    192.168.2.108         194.9.94.127          FTP  
        Request: PORT 192,168,2,108,13,111

    143 4.435976    194.9.94.127          192.168.2.108         FTP  
        Response: 200 PORT command successful

    144 4.468135    192.168.2.108         194.9.94.127          FTP  
        Request: CWD apl/

    194 5.499179    192.168.2.108         194.9.94.127          FTP  
        [TCP Retransmission] Request: CWD apl/

    198 5.565745    194.9.94.127          192.168.2.108         FTP  
        Response: 250 OK. Current directory is /apl

    199 5.565955    192.168.2.108         194.9.94.127          FTP  
        Request: TYPE I

    275 7.640872    194.9.94.127          192.168.2.108         FTP  
        Response: 200 TYPE is now 8-bit binary

    276 7.641186    192.168.2.108         194.9.94.127          FTP  
        Request: STOR ik104test.zip

    290 7.903130    194.9.94.127          192.168.2.108         TCP  
        ftp > spiral-admin [ACK] Seq=613 Ack=111 Win=16500 Len=0

   1279 37.655879   192.168.2.108         194.9.94.127          TCP 
        spiral-admin > ftp [FIN, ACK] Seq=111 Ack=613 Win=15888 Len=0
Vladimir:
5-Nov-2008
No.     Time        Source                Destination           Protocol 
Info

     90 2.750586    192.168.2.108         194.9.94.127          FTP   
        Request: TYPE I

     97 2.823074    194.9.94.127          192.168.2.108         FTP   
        Response: 200 TYPE is now 8-bit binary

     98 2.828500    192.168.2.108         194.9.94.127          FTP   
        Request: PASV

    113 3.171841    192.168.2.108         194.9.94.127          FTP  
        [TCP Retransmission] Request: PASV

    114 3.244193    194.9.94.127          192.168.2.108         TCP  
        [TCP Previous segment lost] ftp > mgemanagement [ACK] Seq=80 
    Ack=15 Win=16500 Len=0

    131 3.889034    194.9.94.127          192.168.2.108         FTP  
        [TCP Retransmission] Response: 227 Entering Passive Mode (194,9,94,127,250,69)

    137 3.984887    192.168.2.108         194.9.94.127          FTP  
        Request: STOR ik104test.zip

    149 4.247163    194.9.94.127          192.168.2.108         TCP  
        ftp > mgemanagement [ACK] Seq=80 Ack=35 Win=16500 Len=0

    210 7.046287    194.9.94.127          192.168.2.108         FTP  
        Response: 150 Accepted data connection

    241 7.218716    192.168.2.108         194.9.94.127          TCP  
        mgemanagement > ftp [ACK] Seq=35 Ack=110 Win=16269 Len=0

   1613 17.145048   194.9.94.127          192.168.2.108         FTP 
        Response: 226-File successfully transferred

   1617 17.172970   192.168.2.108         194.9.94.127          FTP 
        Request: SIZE ik104test.zip

   1620 17.277591   194.9.94.127          192.168.2.108         FTP 
        Response: 213 566605

   1623 17.375906   192.168.2.108         194.9.94.127          FTP 
        Request: TYPE A

   1628 17.498619   194.9.94.127          192.168.2.108         FTP 
        Response: 200 TYPE is now ASCII

   1629 17.516657   192.168.2.108         194.9.94.127          FTP 
        Request: PASV

   1633 17.644044   194.9.94.127          192.168.2.108         FTP 
        Response: 227 Entering Passive Mode (194,9,94,127,205,237)

   1637 17.750889   192.168.2.108         194.9.94.127          FTP 
        Request: LIST

   1643 17.835367   194.9.94.127          192.168.2.108         FTP 
        Response: 150 Accepted data connection

   1644 17.863490   194.9.94.127          192.168.2.108         FTP 
        Response: 226-Options: -a -l 

   1645 17.863548   192.168.2.108         194.9.94.127          TCP 
        mgemanagement > ftp [ACK] Seq=75 Ack=364 Win=16015 Len=0
Vladimir:
5-Nov-2008
there it is.... difference is:

in total cmd:
on Request: STOR ik104test.zip
ftp > mgemanagement [ACK] Seq=80 Ack=35 Win=16500 Len=0
Response: 150 Accepted data connection

and in rebol
response is

 290 7.903130    194.9.94.127          192.168.2.108         TCP  
     ftp > spiral-admin [ACK] Seq=613 Ack=111 Win=16500 Len=0
30 seconds pause

1279 37.655879   192.168.2.108         194.9.94.127          TCP 
     spiral-admin > ftp [FIN, ACK] Seq=111 Ack=613 Win=15888 Len=0 
   149 4.247163    194.9.94.127          192.168.2.108         TCP
Vladimir:
5-Nov-2008
4 0.136676    194.9.94.127          192.168.2.108         FTP    
  Response: 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------

      5 0.136919    192.168.2.108         194.9.94.127          FTP    
        Request: USER visaprom.com

      6 0.195551    194.9.94.127          192.168.2.108         FTP    
        Response: 331 User visaprom.com OK. Password required

      7 0.195740    192.168.2.108         194.9.94.127          FTP    
        Request: PASS pass

      8 0.298224    194.9.94.127          192.168.2.108         FTP    
        Response: 230-User visaprom.com has group access to:  www     

      9 0.298434    192.168.2.108         194.9.94.127          FTP    
        Request: SYST

     10 0.359996    194.9.94.127          192.168.2.108         FTP   
        Response: 215 UNIX Type: L8

     11 0.360264    192.168.2.108         194.9.94.127          FTP   
        Request: PWD

     12 0.424862    194.9.94.127          192.168.2.108         FTP   
        Response: 257 "/" is your current location

     13 0.425117    192.168.2.108         194.9.94.127          FTP   
        Request: PASV

     14 0.485707    194.9.94.127          192.168.2.108         FTP   
        Response: 227 Entering Passive Mode (194,9,94,127,205,50)

     18 0.547818    192.168.2.108         194.9.94.127          FTP   
        Request: CWD apl/

     19 1.613365    192.168.2.108         194.9.94.127          FTP   
        [TCP Retransmission] Request: CWD apl/

     20 1.675732    194.9.94.127          192.168.2.108         TCP   
        [TCP Previous segment lost] ftp > gtrack-ne [ACK] Seq=603 Ack=66 
     Win=16500 Len=0

    106 30.535545   192.168.2.108         194.9.94.127          TCP  
        gtrack-ne > ftp [FIN, ACK] Seq=66 Ack=568 Win=15933 Len=0

    107 30.600678   194.9.94.127          192.168.2.108         TCP  
        ftp > gtrack-ne [ACK] Seq=603 Ack=67 Win=16500 Len=0

    108 30.600776   194.9.94.127          192.168.2.108         FTP  
        Response: 250 Logout.

    109 30.600798   192.168.2.108         194.9.94.127          TCP  
        [TCP Dup ACK 106#1] gtrack-ne > ftp [ACK] Seq=67 Ack=568 Win=15933 
    Len=0 SLE=603 SRE=616

    110 30.601077   194.9.94.127          192.168.2.108         TCP  
        ftp > gtrack-ne [FIN, ACK] Seq=616 Ack=67 Win=16500 Len=0

    111 30.601086   192.168.2.108         194.9.94.127          TCP  
        [TCP Dup ACK 106#2] gtrack-ne > ftp [ACK] Seq=67 Ack=568 Win=15933 
    Len=0 SLE=603 SRE=617
Group: rebcode ... Rebcode discussion [web-public]
BrianH:
12-Oct-2005
I've wanted struct! support in /Core for years. I even requested 
it from Feedback, before RAMBO was here. Should I request it from 
RAMBO as well?
Pekr:
12-Oct-2005
Brian - you may add your 'apply request to RT QA group :-)
BrianH:
12-Oct-2005
REQUEST: I would like the LOG-2 opcode to be added to the existing 
LOG-10 and LOG-E. Log-2 is the only one of those I actually use regularly 
:)
BrianH:
14-Oct-2005
Great, I mention that ADDD and the like can take integer arguments 
in the second parameter but the syntax doesn't allow it in version 
10 (and request a change in declaration), and now in version 11 the 
opcodes don't take integer parameters any more. I hope that change 
resulted in a good speedup - it would certainly be easier to JIT.
BrianH:
18-Oct-2005
On that note, a request: Please integrate the HERE (or OFFSET, you 
decide) directive I requested, RAMBO 3924. This will make BRAW useful 
for handwritten code; right now BRAW is only practical for compiler-generated 
code with no user-defined rewrite rules, because of the offset calculations 
required.
Pekr:
18-Oct-2005
not sure if we should not use different Chnnel? Which one, as we 
will chat here, our request will scroll-off ....
BrianH:
18-Oct-2005
The code I've posted here recently is for you all. I've posted the 
request code to RAMBO.
Group: Tech News ... Interesting technology [web-public]
Volker:
17-May-2006
rebol->tcp-<opengl: could work. bottleneck is lots of request. In 
your case you would only do one request/frame. Copying the bytes 
on the same machine should be fast.
Volker:
17-May-2006
Maybe Jaime means: If you do everything that way, including the os? 
But, there would be no  such thing as a file, there would be a file-server, 
eg a third task. Which gets request and can sort them out.
Oldes:
13-Jun-2006
maybe nice for the first look, but I don't like it

The page or component you request is no longer available. This is 
normally caused by timeout, or opening too many Web pages. 
Continue cruising ZK Demo .  
Failed to invoke zkBox.init
zkBox is not defined
Group: SQLite ... C library embeddable DB [web-public].
Louis:
9-Nov-2006
C:\.SQLite>wget -r -l 1 http://www.sqlite.com/index.html
--23:27:13--  http://www.sqlite.com:80/index.html
           => `www.sqlite.com/index.html'
Connecting to www.sqlite.com:80... connected!
HTTP request sent, awaiting response...
23:27:14 ERROR -1: Malformed status line.
Group: Plugin-2 ... Browser Plugins [web-public]
JoshM:
6-Jun-2006
Reichart: Actually, when I click on a .r file for download and press 
"Open", it launches View but doesn't open the file. Why? I have no 
idea. It looks like two things need to happen:

 1. Download should not trigger Open or Save -- this can be accomplished 
 by registering a MIME-Type handler upon EXE install.

 2. It should actually open the file -- maybe the EXE's not picking 
 up on the Open request for some reason.


These are legitmate issues, but they all relate to the REBOL EXE. 
I'm sorry, but it's just not my area. You'll have to pass this feedback 
along to Carl or whoever owns the Windows EXE development for R3.0.
DideC:
18-Jun-2006
OK, tried to Install on IE : falied.

- I have remove the old one and goes to the install page, clicking 
yes to the security request, but nothing !
- When I go again to the page, no request, no plugin running :-(
Win2k (uptodate) on IE6 (uptodate)
Oldes:
18-May-2007
I think this is not blocked http://box.lebeda.ws/~hmm/rebol/plugin/test-request-file.html
amacleod:
7-Apr-2008
I was playing around with some of the Demos for the plugin. They 
were working fine and then I got hte request to download the active-x 
component. I downloadred thing perhaps I had an older version installed 
but now the plugin is not working. I get a REBOL/VIEWdll window with 
"Show on face in closed window." printed inside. Anyone?
BrianH:
3-Sep-2008
You would need a rebol dll for the operating system and hardware 
of your phone. If it is not running Linux you may be out of luck, 
and if it is you would need to request a build. The WinCE build of 
REBOL is an old port of /Core for the handheld pc version of WinCE 
with no support for onscreen keyboards or Smartphone edition, and 
there is no build for Symbian.
Group: !Cheyenne ... Discussions about the Cheyenne Web Server [web-public]
Chris:
23-Apr-2007
How would you do the following in Cheyenne?

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+) /cgi-bin/qm.r [QSA,L]


Also, is there an equivalent to -- get-env "REQUEST_URI" -- in Cheyenne?
Chris:
23-Apr-2007
This rewrite rule takes any request (third line) for a file that 
doesn't exist (second line) and redirects to my cgi script.
Chris:
23-Apr-2007
The advantage of this is that my cgi script can make decisions based 
on the full request, not just the query string.
Pekr:
23-Apr-2007
what do you mean by "the full request"?
Chris:
23-Apr-2007
For example, from this url: http://foo.com/pages/edit/1-- I get 
the Request_Uri value "/pages/edit/1" then parse it -- ["pages" "edit" 
"1"] -- here I have a controller, and action and an id.  It is a 
more enduring approach than http://foo.com/cgi-bin/qm.r?controller=pages&action=edit&id=1
Dockimbel:
23-Apr-2007
RE: get-env "REQUEST_URI" : using the CGI or the RSP handler ?
Dockimbel:
23-Apr-2007
Re: REQUEST_URI, in CGI mode => all request parameters are in  system/options/cgi
Dockimbel:
23-Apr-2007
Re: REQUEST_URI, in RSP mode => all request parameters are in  request/in 
(deprecated in the upcoming version)
Chris:
23-Apr-2007
Looking for it in the CGI handler.  Request_URI isn't in the system/options/cgi 
block -- even using Apache, I have to do get-env "REQUEST_URI"
Dockimbel:
23-Apr-2007
You should be able to obtain an equivalent to REQUEST_URI by join 
several values from system/options/cgi.
Chris:
23-Apr-2007
Except without being able to rewrite, the request_uri will always 
be the same...
Dockimbel:
23-Apr-2007
hum, problem with [get-env "REQUEST_URI"], I can't set-env ! Is there 
a simple way to set an environment variable from REBOL ?
Dockimbel:
23-Apr-2007
making a custom module if just not enough, I need a way to set  "REQUEST_URI" 
env variable.
Dockimbel:
23-Apr-2007
The problem is that 'REQUEST_URI' is Apache specific, it's not part 
of standard CGI...
Chris:
24-Apr-2007
I don't need Request_Uri specifically, just something that acts that 
way.  When I say I don't want to fork QM, I mean the script -- a 
few 'if find request/server-software "Cheyenne"' calls are not a 
problem.
Chris:
24-Apr-2007
For example, if there was a way of hijacking 404s, passing the 'request 
uri' as do/args to %qm.r, that would work too...
Chris:
24-Apr-2007
Finally, in the 'request object in QM, I changed the Request_Uri 
line:
Chris:
24-Apr-2007
path: any [path-info get-env "REQUEST_URI"]
btiffin:
28-Apr-2007
Cheering squad: Give us a "C", give us an "h" ... Go "Chris"  


On a more serious note.  I've offered to help design/beta trial REBOL 
Want Ads.  QuarterMaster seems

like a candidate for this.  There isn't any time pressure, as this 
will take a while, but what is your gut feel for Cheyenne support? 
 From reading !Cheyenne you seem to have got a workable solution 
to get at the REQUEST-URI functionality?  Or was that just me reading 
with rose-coloured glasses?


Just FYI, the very first cut is going to be a blog.r test.  But I 
think rebols would appreciate a little more.

Thanks again by the way.
Dockimbel:
29-May-2007
In any cases, HTTP communications involve a request from the client, 
so it implies an URL...unless your JS is not using HTTP protocol 
?
Dockimbel:
30-May-2007
Phases are just stages in the request pipeline. If you need client 
IP, from one of the phase handlers (like url-translate, for example), 
it's in svc/client/remote-ip (svc/client point to the client port! 
value)
Dockimbel:
1-Jun-2007
Terry, it seems that's a issue with the way the request pipelining 
and multiplexing is done by some browser. I've plan to fix that this 
weekend.
Graham:
2-Jun-2007
Should this work?


	in-user: select request/content 'login
	in-pass: select request/content 'pass
	
	if all [ in-user in-pass ][

  result: do-sql 'remr rejoin [ {select staffname from staff where 
  staffname = '} in-user {' and pwd = '} in-pass {'} ]

		print <pre>
		probe result
		print </pre>	
	]
Group: !CureCode ... web-based bugtracking tool [web-public]
Dockimbel:
18-Jun-2007
Hi MikeL, thanks for your feedback.


1: Only the author of a comment can edit/delete its comment, no one 
else can. See http://softinnov.org:8000/curecode/ticket.rsp?id=10005#comments


2: Definitely a useful feature that I would like to add asap. (added 
as a feature request in CureCode project).
DideC:
18-Nov-2008
> RSP Error Trapped<
Error Code : 	310
Description : 	script error !
validate-user has no refinement called update
Near : 	[if not validate-user/update request/content [err?: yes]]
Where : 	protected-exec
BrianH:
21-Jan-2009
Steeve had similar problems - that is why we had to request that 
you add an account, Doc.
BrianH:
11-Feb-2009
Doc, is the CureCode "feature" severity meant ironically, as in "It's 
not a bug, it's a feature!"? If so, it would explain why that severity 
is not available on the Add Ticket page, and I would have to rereview 
every ticket I put that severity on thinking it meant "request for 
a feature". I've been marking non-bugs as dismissed so far.
Dockimbel:
11-Apr-2009
Is the value="" removal request related to an issue you've experienced 
with Chrome?
Dockimbel:
12-Apr-2009
BrianH, on 21-Jan 11:16 PM you said : "Do a server-side redirect 
to a get page when you go into edit mode on a ticket or comment update."


I'm not sure to understand the "server-side redirect to a get page" 
part. When you click on a ticket ID or comment [Edit] button, you 
enter in edit mode using a GET request. What would a redirect improve 
here? Is it related to the browser Back button and client cache management?
Group: DevCon2008 (post-chatter) ... DevCon2008 [web-public]
Reichart:
19-Dec-2008
My request for whom ever hosts the page is that they "think" they 
can keep the page in place for a long time in the future.  My hope 
is to eventually get all these devcon pages over to one place for 
historical reasons.
Sunanda:
20-Dec-2008
The checklist was put up, with a request for people to add their 
preferred dates.

Not many of us did, and 27-dec was the favorite from a very short 
list.

I think now it'd be Nick's decision if he wanted to throw the date 
back into the open.

Any of us could of course start the hunt for an eDevCon date in 2009.
201 / 133512[3] 45...1011121314