; Apply rewriting rules for some requests
(define (tag-on-html X)
(write-line 2 (string "> " X ))
- (let ((C (if (and (string? X) (regex "^GET ([^ ]+) (.+)" X 0))
- (format "GET %s %s\r\n" (maybe-html $1) $2) X)))
- (write-line 2 (string "< " C))
- C))
+ (setf X (if (and (string? X) (regex "^([^\\s]+) ([^ ]+) (.+)" X 0))
+ (let ((A $1) (B $2) (C $3))
+ (format "%s %s %s\r\n" A (maybe-html B) C) X)))
+ (write-line 2 (string "< " X))
+ X)
-(command-event tag-on-html)
+(define (filter-request X)
+ (if (starts-with X "(GET|HEAD)" 0) (tag-on-html X)
+ "GET /403.html HTTP/1.1"))
+
+(command-event filter-request)