--- gforth/proxy.fs 2002/09/14 08:20:19 1.7 +++ gforth/proxy.fs 2010/12/31 18:09:02 1.15 @@ -1,12 +1,12 @@ \ a http proxy -\ Copyright (C) 2000 Free Software Foundation, Inc. +\ Copyright (C) 2000,2002,2003,2006,2007,2010 Free Software Foundation, Inc. \ This file is part of Gforth. \ Gforth is free software; you can redistribute it and/or \ modify it under the terms of the GNU General Public License -\ as published by the Free Software Foundation; either version 2 +\ as published by the Free Software Foundation, either version 3 \ of the License, or (at your option) any later version. \ This program is distributed in the hope that it will be useful, @@ -15,10 +15,10 @@ \ GNU General Public License for more details. \ You should have received a copy of the GNU General Public License -\ along with this program; if not, write to the Free Software -\ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. +\ along with this program. If not, see http://www.gnu.org/licenses/. require unix/socket.fs +require string.fs Create crlf #cr c, #lf c, @@ -36,14 +36,14 @@ Create crlf #cr c, #lf c, ELSE s" Gforth Proxy 0.1" THEN r@ writeln s" " r@ writeln r> ; -Variable proxy s" proxy" proxy $! \ replace that with your proxy host -Variable proxy-port 3128 proxy-port ! \ replace that with your proxy port +Variable proxy \ s" proxy" proxy $! \ replace that with your proxy host +Variable proxy-port \ 8080 proxy-port ! \ replace that with your proxy port -: proxy-open ( host u request u -- fid ) - proxy $@ proxy-port @ request ; +\ set proxy to your local proxy, and proxy-port to your local proxy port +\ if you need any. : http-open ( host u request u -- fid ) - 2over 80 request ; + proxy @ 0= IF 2over 80 ELSE proxy $@ proxy-port @ THEN request ; wordlist Constant response wordlist Constant response-values @@ -132,7 +132,7 @@ Variable data-buffer Content-Length @ IF Content-Length $@ s>number drop r> read-sized EXIT THEN Transfer-Encoding @ IF - Transfer-Encoding $@ s" chunked" str= 0= IF + Transfer-Encoding $@ s" chunked" str= IF r> read-chunked EXIT THEN THEN r> read-to-end ; @@ -189,7 +189,7 @@ DOES> ( -- addr u ) IF 2drop false ELSE redir$ @ 0<> THEN ; : (redirect) ( -- ) - host$ $@ redir$ $@ proxy-open handle-request maxnum off ; + host$ $@ redir$ $@ http-open handle-request maxnum off ; ' (redirect?) IS redirect? ' (redirect) IS redirect @@ -200,9 +200,14 @@ redirects set-current get-order redirects swap 1+ set-order Vocabulary systems +Vocabulary humor also systems definitions -redirect: bigforth bigforth.sourceforge.net"http://bigforth.sourceforge.net/" +redirect: bigforth bigforth.sourceforge.net"/" + +humor definitions + +redirect: bush www.jwdt.com"/~paysan/bush/" previous previous definitions