Return Option on cache read
authorSiraaj Khandkar <siraaj@khandkar.net>
Fri, 26 Nov 2021 19:55:02 +0000 (14:55 -0500)
committerSiraaj Khandkar <siraaj@khandkar.net>
Fri, 26 Nov 2021 20:05:19 +0000 (15:05 -0500)
tt.rkt

diff --git a/tt.rkt b/tt.rkt
index 5b10215..2fbcfe2 100644 (file)
--- a/tt.rkt
+++ b/tt.rkt
 (define (url->cache-lmod-path uri)
   (build-path cache-dir "lmods" (uri-encode (url->string uri))))
 
-; TODO Return Option
-(: uri-read-cached (-> Url String))
+(: uri-read-cached (-> Url (Option String)))
 (define (uri-read-cached uri)
   (define path-v1 (url->cache-file-path-v1 uri))
   (define path-v2 (url->cache-file-path-v2 uri))
       (file->string path-v2)
       (begin
         (log-warning "Cache file not found for URI: ~a" (url->string uri))
-        "")))
+        #f)))
 
 (: str->url (-> String (Option String)))
 (define (str->url s)
 (define (peer->msgs peer)
   (match-define (Peer nick uri _) peer)
   (log-info "Reading peer nick:~v uri:~v" nick (url->string uri))
-  (str->msgs nick uri (uri-read-cached uri)))
+  (define msgs-data (uri-read-cached uri))
+  (if msgs-data
+      (str->msgs nick uri msgs-data)
+      '()))
 
 (: peer-download
    (-> Positive-Float Peer
This page took 0.022582 seconds and 4 git commands to generate.