racket/collects/web-server/stuffers/hash.ss
Eli Barzilay a70bf64fd9 Newlines at EOFs
svn: r15380
2009-07-04 02:28:31 +00:00

25 lines
574 B
Scheme

#lang scheme
(require web-server/stuffers/stuffer
web-server/stuffers/store
file/md5)
(define hash-fun/c
(bytes? . -> . bytes?))
(define (hash-stuffer hash store)
(make-stuffer
(lambda (v)
(define hv (hash v))
((store-write store) hv v)
hv)
(lambda (hv)
((store-read store) hv))))
(define (md5-stuffer home)
(hash-stuffer md5 (dir-store home)))
(provide/contract
[hash-fun/c contract?]
[hash-stuffer (hash-fun/c store? . -> . (stuffer/c bytes? bytes?))]
[md5-stuffer (path-string? . -> . (stuffer/c bytes? bytes?))])