#lang scheme/base
(require (planet untyped/unlib:3/require))
(define-library-aliases mirrors (planet untyped/mirrors:2) #:provide)
(define-library-aliases unlib (planet untyped/unlib:3) #:provide)
(define-library-aliases schemeunit (planet schematics/schemeunit:3) #:provide)
(require net/url
scheme/contract
scheme/match
scheme/pretty
srfi/26
web-server/http
(unlib-in [debug exn log url]))
(define-struct (exn:dispatch exn) () #:transparent)
(define-struct (exn:fail:dispatch exn:fail) () #:transparent)
(define dispatch-url-cleaner
(make-parameter (lambda (url)
(url-remove-params (url-path-only url)))))
(define (clean-url url)
((dispatch-url-cleaner) url))
(provide (all-from-out net/url
scheme/contract
scheme/match
scheme/pretty
srfi/26
web-server/http)
(unlib-out [debug exn log url])
(struct-out exn:dispatch)
(struct-out exn:fail:dispatch))
(provide/contract
[dispatch-url-cleaner (parameter/c (-> url? url?))]
[clean-url (-> url? url?)])