-(: hash-sha1 (-> String String))
-(define (hash-sha1 str)
- (define in (open-input-string str))
- (define digest (sha1 in))
- (close-input-port in)
- digest)
+(: cache-dir Path-String)
+(define cache-dir (build-path tt-home-dir "cache"))
+
+(: url->cache-file-path-v1 (-> Url Path-String))
+(define (url->cache-file-path-v1 uri)
+ (define (hash-sha1 str) : (-> String String)
+ (define in (open-input-string str))
+ (define digest (sha1 in))
+ (close-input-port in)
+ digest)
+ (build-path cache-dir (hash-sha1 (url->string uri))))
+
+(: url->cache-file-path-v2 (-> Url Path-String))
+(define (url->cache-file-path-v2 uri)
+ (build-path cache-dir (uri-encode (url->string uri))))