If SOCKS_PROXY is empty, don't use a proxy - holymoly - A tor enabled gopher client written in CHICKEN scheme
 (HTM) git clone git://vernunftzentrum.de/holymoly.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 2e0a144bd6c14b237e97a7844cda4d80111544e2
 (DIR) parent 2807d65d10534ac55dbc94a86c70aadea97952e3
 (HTM) Author: Christian Kellermann <ckeen@pestilenz.org>
       Date:   Tue, 24 Apr 2018 10:53:29 +0200
       
       If SOCKS_PROXY is empty, don't use a proxy
       
       Diffstat:
         holymoly.scm                        |      17 ++++++++++-------
       
       1 file changed, 10 insertions(+), 7 deletions(-)
       ---
 (DIR) diff --git a/holymoly.scm b/holymoly.scm
       @@ -33,12 +33,13 @@
                     (entry-port e))))
        
        (define proxy
       -  (let* ((conf
       -          (string-split
       -           (or
       -            (get-environment-variable "SOCKS_PROXY")
       -            "localhost:9050")
       -           ":"))
       +  (and-let*
       +        ((proxy-vals (or (get-environment-variable "SOCKS_PROXY")
       +                         "localhost:9050"))
       +         (conf
       +          (if (not (string-null? proxy-vals))
       +             (string-split proxy-vals ":")
       +             #f)) ;; no proxy configured, so abort here
                 (proxy-host (car conf))
                 (proxy-port (string->number (cadr conf))))
            (make-parameter (cons proxy-host proxy-port))))
       @@ -158,7 +159,9 @@
        (define (request-resource server #!optional (resource index) (port gopher-port) until-eof?)
          (new-status "Connecting to ~a:~a ~a " server port resource)
          (condition-case
       -     (let-values (((i o _) (connect/socksv5 (car (proxy)) (cdr (proxy)) server port)))
       +     (let-values (((i o _) (if proxy
       +                               (connect/socksv5 (car (proxy)) (cdr (proxy)) server port)
       +                               (receive (i o) (tcp-connect server port) (values i o #f)))))
               (new-status "connected.")
               (display (string-append resource (string #\linefeed #\return)) o)
               (let ((response (if until-eof?