From 23c2c9316416877149b4361ce9993ce165f55c69 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Fri, 25 Sep 2015 16:08:34 -0400 Subject: [PATCH] Survive network errors checking for a readme --- src/site.rkt | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/site.rkt b/src/site.rkt index 805b93e..bfeecde 100644 --- a/src/site.rkt +++ b/src/site.rkt @@ -12,6 +12,7 @@ (require racket/string) (require racket/port) (require (only-in racket/list filter-map)) +(require (only-in racket/exn exn->string)) (require net/url) (require net/uri-codec) (require web-server/servlet) @@ -1269,9 +1270,16 @@ (hash) ;; It's probably a github-like repo. Check for a readme. (let ((contents - (port->string - (get-pure-port (string->url (@ default-version source_url)) - #:redirections 10)))) + (with-handlers ([exn:fail:network? + (lambda (e) + (log-warning + "Network error retrieving possible readme for ~a:\n~a" + package-name + (exn->string e)) + "")]) + (port->string + (get-pure-port (string->url (@ default-version source_url)) + #:redirections 10))))) ;;(log-info "CONTENTS: ~a === ~a" (@ default-version source_url) contents) (if (regexp-match? #px"(?i:id=.readme.)" contents) (let ((readme-url (string-append (@ default-version source_url) "#readme")))