Add control for disabling the cache
This commit is contained in:
parent
00e3e1263a
commit
0b7e0dc711
24
src/site.rkt
24
src/site.rkt
|
@ -26,6 +26,8 @@
|
||||||
(define static-cached-directory "../static/cached")
|
(define static-cached-directory "../static/cached")
|
||||||
(define static-cached-urlprefix "/cached")
|
(define static-cached-urlprefix "/cached")
|
||||||
|
|
||||||
|
(define disable-cache? #f)
|
||||||
|
|
||||||
(define nav-index "Package Index")
|
(define nav-index "Package Index")
|
||||||
(define nav-search "Search")
|
(define nav-search "Search")
|
||||||
|
|
||||||
|
@ -385,16 +387,22 @@
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
(define (use-cache?)
|
||||||
|
;; We use the cache if it isn't disabled, but ONLY when the user is
|
||||||
|
;; not logged in to an account. When they are logged in, they see
|
||||||
|
;; user-specific options which don't cache well.
|
||||||
|
(not (or (current-session) disable-cache?)))
|
||||||
|
|
||||||
(define (main-page-url)
|
(define (main-page-url)
|
||||||
(if (current-session)
|
(if (use-cache?)
|
||||||
(named-url main-page)
|
(format "~a~a" static-cached-urlprefix (named-url main-page))
|
||||||
(format "~a~a" static-cached-urlprefix (named-url main-page))))
|
(named-url main-page)))
|
||||||
|
|
||||||
(define (view-package-url package-name)
|
(define (view-package-url package-name)
|
||||||
(define package-name-str (~a package-name))
|
(define package-name-str (~a package-name))
|
||||||
(if (current-session)
|
(if (use-cache?)
|
||||||
(named-url package-page package-name-str)
|
(format "~a~a" static-cached-urlprefix (named-url package-page package-name-str))
|
||||||
(format "~a~a" static-cached-urlprefix (named-url package-page package-name-str))))
|
(named-url package-page package-name-str)))
|
||||||
|
|
||||||
(define (package-link package-name)
|
(define (package-link package-name)
|
||||||
`(a ((href ,(view-package-url package-name))) ,(~a package-name)))
|
`(a ((href ,(view-package-url package-name))) ,(~a package-name)))
|
||||||
|
@ -518,7 +526,7 @@
|
||||||
(authentication-wrap
|
(authentication-wrap
|
||||||
#:request request
|
#:request request
|
||||||
(cond
|
(cond
|
||||||
[(and (not (current-session)) (not (static-render)))
|
[(and (use-cache?) (not (static-render)))
|
||||||
;; Redirect to static version
|
;; Redirect to static version
|
||||||
(bootstrap-redirect (main-page-url))]
|
(bootstrap-redirect (main-page-url))]
|
||||||
[else
|
[else
|
||||||
|
@ -574,7 +582,7 @@
|
||||||
(define pkg (package-detail package-name))
|
(define pkg (package-detail package-name))
|
||||||
(define default-version (package-default-version pkg))
|
(define default-version (package-default-version pkg))
|
||||||
(cond
|
(cond
|
||||||
[(and (not (current-session)) (not (static-render)))
|
[(and (use-cache?) (not (static-render)))
|
||||||
;; Redirect to static version
|
;; Redirect to static version
|
||||||
(bootstrap-redirect (view-package-url package-name))]
|
(bootstrap-redirect (view-package-url package-name))]
|
||||||
[(not pkg)
|
[(not pkg)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user