Diff for /gforth/proxy.fs between versions 1.5 and 1.15

version 1.5, 2001/11/11 22:33:31 version 1.15, 2010/12/31 18:09:02
Line 1 Line 1
 \ a http proxy  \ 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.  \ This file is part of Gforth.
   
 \ Gforth is free software; you can redistribute it and/or  \ Gforth is free software; you can redistribute it and/or
 \ modify it under the terms of the GNU General Public License  \ 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.  \ of the License, or (at your option) any later version.
   
 \ This program is distributed in the hope that it will be useful,  \ This program is distributed in the hope that it will be useful,
Line 15 Line 15
 \ GNU General Public License for more details.  \ GNU General Public License for more details.
   
 \ You should have received a copy of the GNU General Public License  \ You should have received a copy of the GNU General Public License
 \ along with this program; if not, write to the Free Software  \ along with this program. If not, see http://www.gnu.org/licenses/.
 \ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.  
   
 require unix/socket.fs  require unix/socket.fs
   require string.fs
   
 Create crlf #cr c, #lf c,  Create crlf #cr c, #lf c,
   
Line 36  Create crlf #cr c, #lf c, Line 36  Create crlf #cr c, #lf c,
     ELSE  s" Gforth Proxy 0.1"  THEN  r@ writeln      ELSE  s" Gforth Proxy 0.1"  THEN  r@ writeln
     s" " r@ writeln r> ;      s" " r@ writeln r> ;
   
 Variable proxy          s" proxy" proxy $! \ replace that with your proxy host  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-port     \ 8080 proxy-port !  \ replace that with your proxy port
   
 : proxy-open ( host u request u -- fid )  \ set proxy to your local proxy, and proxy-port to your local proxy port
     proxy $@ proxy-port @ request ;  \ if you need any.
   
 : http-open ( host u request u -- fid )  : 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
 wordlist Constant response-values  wordlist Constant response-values
Line 132  Variable data-buffer Line 132  Variable data-buffer
     Content-Length @ IF      Content-Length @ IF
         Content-Length $@ s>number drop r> read-sized  EXIT  THEN          Content-Length $@ s>number drop r> read-sized  EXIT  THEN
     Transfer-Encoding @ IF      Transfer-Encoding @ IF
         Transfer-Encoding $@ s" chunked" compare 0= IF          Transfer-Encoding $@ s" chunked" str= IF
             r> read-chunked  EXIT  THEN  THEN              r> read-chunked  EXIT  THEN  THEN
     r> read-to-end ;      r> read-to-end ;
   
Line 186  DOES> ( -- addr u ) Line 186  DOES> ( -- addr u )
         I c@ '/ = IF  #lf I c!  THEN  LOOP          I c@ '/ = IF  #lf I c!  THEN  LOOP
     redirects 1 set-order redir$ $off      redirects 1 set-order redir$ $off
     htmldir $@ ['] evaluate catch      htmldir $@ ['] evaluate catch
     IF  false  ELSE  redir$ @ 0<>  THEN ;      IF  2drop false  ELSE  redir$ @ 0<>  THEN ;
   
 : (redirect) ( -- )  : (redirect) ( -- )
     host$ $@ redir$ $@ proxy-open handle-request maxnum off ;      host$ $@ redir$ $@ http-open handle-request maxnum off ;
   
 ' (redirect?) IS redirect?  ' (redirect?) IS redirect?
 ' (redirect) IS redirect  ' (redirect) IS redirect
Line 200  redirects set-current Line 200  redirects set-current
 get-order redirects swap 1+ set-order  get-order redirects swap 1+ set-order
   
 Vocabulary systems  Vocabulary systems
   Vocabulary humor
   
 also systems definitions  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  previous previous definitions

Removed from v.1.5  
changed lines
  Added in v.1.15


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>