forked from cadence/breezewiki
more stuff
This commit is contained in:
parent
ba806d0633
commit
19aeeea60f
1 changed files with 10 additions and 8 deletions
|
@ -33,20 +33,22 @@
|
||||||
(easy:response-headers-ref dest-res 'content-type))
|
(easy:response-headers-ref dest-res 'content-type))
|
||||||
|
|
||||||
(define (get-media-html url content-type)
|
(define (get-media-html url content-type)
|
||||||
(define proxied-url (if (config-true? 'strict_proxy) (u-proxy-url url) url))
|
(define maybe-proxied-url (if (config-true? 'strict_proxy) (u-proxy-url url) url))
|
||||||
(cond
|
(cond
|
||||||
[(eq? content-type #f) `""]
|
[(eq? content-type #f) `""]
|
||||||
[(regexp-match? #rx"(?i:^image/)" content-type) `(img (@ (src ,proxied-url)))]
|
[(regexp-match? #rx"(?i:^image/)" content-type) `(img (@ (src ,maybe-proxied-url)))]
|
||||||
[(regexp-match? #rx"(?i:^audio/|^application/ogg(;|$))" content-type)
|
[(regexp-match? #rx"(?i:^audio/|^application/ogg(;|$))" content-type)
|
||||||
`(audio (@ (src ,proxied-url) (controls)))]
|
`(audio (@ (src ,maybe-proxied-url) (controls)))]
|
||||||
[(regexp-match? #rx"(?i:^video/)" content-type) `(video (@ (src ,proxied-url) (controls)))]
|
[(regexp-match? #rx"(?i:^video/)" content-type) `(video (@ (src ,maybe-proxied-url) (controls)))]
|
||||||
[else `""]))
|
[else `""]))
|
||||||
(module+ test
|
(module+ test
|
||||||
(require rackunit)
|
(require rackunit)
|
||||||
|
(parameterize ([config-parameter 'strict_proxy "true"])
|
||||||
(check-equal? (get-media-html "https://static.wikia.nocookie.net/a" "image/jpeg") (img (@ (src "/proxy?dest=https%3A%2F%2Fstatic.wikia.nocookie.net%2Fa"))))
|
(check-equal? (get-media-html "https://static.wikia.nocookie.net/a" "image/jpeg") (img (@ (src "/proxy?dest=https%3A%2F%2Fstatic.wikia.nocookie.net%2Fa"))))
|
||||||
(check-equal? (get-media-html "https://static.wikia.nocookie.net/b" "audio/mp3") (audio (@ (src "/proxy?dest=https%3A%2F%2Fstatic.wikia.nocookie.net%2Fb"))))
|
(check-equal? (get-media-html "https://static.wikia.nocookie.net/b" "audio/mp3") (audio (@ (src "/proxy?dest=https%3A%2F%2Fstatic.wikia.nocookie.net%2Fb")))))
|
||||||
|
(parameterize ([config-parameter 'strict_proxy "no"])
|
||||||
(check-equal? (get-media-html "https://static.wikia.nocookie.net/c" "application/ogg") (audio (@ (src "/proxy?dest=https%3A%2F%2Fstatic.wikia.nocookie.net%2Fc"))))
|
(check-equal? (get-media-html "https://static.wikia.nocookie.net/c" "application/ogg") (audio (@ (src "/proxy?dest=https%3A%2F%2Fstatic.wikia.nocookie.net%2Fc"))))
|
||||||
(check-equal? (get-media-html "https://static.wikia.nocookie.net/d" "video/mp4") (video (@ (src "/proxy?dest=https%3A%2F%2Fstatic.wikia.nocookie.net%2Fd"))))
|
(check-equal? (get-media-html "https://static.wikia.nocookie.net/d" "video/mp4") (video (@ (src "/proxy?dest=https%3A%2F%2Fstatic.wikia.nocookie.net%2Fd")))))
|
||||||
(check-equal? (get-media-html "https://example.com" "who knows") "")
|
(check-equal? (get-media-html "https://example.com" "who knows") "")
|
||||||
(check-equal? (get-media-html #f "who knows") ""))
|
(check-equal? (get-media-html #f "who knows") ""))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue