- (if (string-contains selector "|")
- (let ((l (string-split selector "|")))
- (serve-script (car l) (cdr l) config))
- (case (infer-selector-type selector)
- ((1) (serve-directory-file selector config))
- ((7) (let ((l (string-split selector "?")))
- (serve-script (car l) arguments config)))
- ((0) (serve-text-file selector config))
- ((h) (serve-url selector config))
- (else (serve-binary-file selector config))))))
+ (cond
+ ((string-contains selector "|")
+ (let ((l (string-split selector "|" #t)))
+ (serve-script (car l) (cdr l) config)))
+ ((legal-filename? (directory-index-filename selector config) config)
+ (serve-directory-file selector config))
+ (else
+ (case (infer-selector-type selector)
+ ((1) (error "Invalid directory selector."))
+ ((7) (let ((l (string-split selector "?" #t)))
+ (serve-script (car l) arguments config)))
+ ((0) (serve-text-file selector config))
+ ((h) (serve-url selector config))
+ (else (serve-binary-file selector config)))))))