--- gforth/proxy.fs 2000/11/19 22:47:54 1.3 +++ gforth/proxy.fs 2001/12/01 20:33:14 1.6 @@ -36,8 +36,8 @@ Create crlf #cr c, #lf c, ELSE s" Gforth Proxy 0.1" THEN r@ writeln s" " r@ writeln r> ; -Variable proxy s" localhost" proxy $! -Variable proxy-port 3128 proxy-port ! +Variable proxy s" proxy" proxy $! \ replace that with your proxy host +Variable proxy-port 3128 proxy-port ! \ replace that with your proxy port : proxy-open ( host u request u -- fid ) proxy $@ proxy-port @ request ; @@ -67,6 +67,7 @@ Forth definitions response: Allow: response: Age: +response: Accept-Ranges: response: Cache-Control: response: Connection: response: Proxy-Connection: @@ -81,10 +82,11 @@ response: Content-Type: response: Date: response: ETag: response: Expires: -response: Last-modified: +response: Last-Modified: response: Location: response: Mime-Version: response: Proxy-Authenticate: +response: Proxy-Connection: response: Public: response: Retry-After: response: Server: @@ -156,14 +158,7 @@ Variable data-buffer \ handle proxy request -: proxy-request ( host u request u -- ) - proxy-open - dup >r get-response throw - r@ read-data r> close-file throw - convert-data write-response write-data ; - -: http-request ( host u request u -- ) - http-open +: handle-request ( fid -- ) dup >r get-response throw r@ read-data r> close-file throw convert-data write-response write-data ; @@ -189,12 +184,12 @@ DOES> ( -- addr u ) : (redirect?) ( addr u -- addr' u' t / f ) htmldir $! htmldir $@ bounds ?DO I c@ '/ = IF #lf I c! THEN LOOP - redirects 1 set-order + redirects 1 set-order redir$ $off htmldir $@ ['] evaluate catch - IF 2drop false ELSE true THEN ; + IF 2drop false ELSE redir$ @ 0<> THEN ; -: (redirect) ( addr u -- ) - host$ $@ 2swap proxy-request maxnum off ; +: (redirect) ( -- ) + host$ $@ redir$ $@ proxy-open handle-request maxnum off ; ' (redirect?) IS redirect? ' (redirect) IS redirect @@ -208,6 +203,6 @@ Vocabulary systems also systems definitions -redirect: bigforth www.jwdt.com"http://www.jwdt.com/~paysan/" +redirect: bigforth bigforth.sourceforge.net"http://bigforth.sourceforge.net/" previous previous definitions