16 lines
634 B
Scheme
16 lines
634 B
Scheme
(module url-structs mzscheme
|
|
(require (lib "contract.ss"))
|
|
|
|
(define-struct url (scheme user host port path query fragment))
|
|
(define-struct path/param (path param))
|
|
|
|
(provide/contract
|
|
(struct url ([scheme (union false/c string?)]
|
|
[user (union false/c string?)]
|
|
[host (union false/c string?)]
|
|
[port (union false/c number?)]
|
|
[path (listof (union string? path/param?))]
|
|
[query (listof (cons/c symbol? string?))]
|
|
[fragment (union false/c string?)]))
|
|
(struct path/param ([path string?]
|
|
[param string?])))) |