racket/collects/net
Robby Findler 86572cc8c3 adjust the contract on string->url so that it actually catches all of
the errors that would be signalled by the body. also, remove
url-regexp from the exports (it was only recently added)

I believe this eliminates two of Eli's concerns:

  - the contract is no longer so painful to read

  - the performance is more reasonable.

Specifically, for the performance, here are the times I see to call
string->url on "http://www.racket-lang.org":

no contract: any/c
cpu time: 564 real time: 566 gc time: 3

weak contract: (-> (or/c string? bytes?) url?)
cpu time: 590 real time: 590 gc time: 3

strong, regexp-based contract:
(-> (or/c (not/c #rx"^([^:/?#]*):") #rx"^[a-zA-Z][a-zA-Z0-9+.-]*:") url?)
cpu time: 632 real time: 633 gc time: 5

This appears to be about a 10% slowdown for the regexp-based contract
over the weaker contract.

related to PR 12652
2012-03-29 19:31:32 -05:00
..
private
scribblings adjust the contract on string->url so that it actually catches all of 2012-03-29 19:31:32 -05:00
websocket Synchronizable events from Tom McNulty 2011-12-26 14:33:07 -07:00
base64-sig.rkt
base64-unit.rkt
base64.rkt add optional newline argument to `base64-encode' 2012-02-21 06:14:44 -07:00
cgi-sig.rkt Remove no-longer used net/cgi exceptions. 2012-03-16 02:55:35 -04:00
cgi-unit.rkt
cgi.rkt Remove no-longer used net/cgi exceptions. 2012-03-16 02:55:35 -04:00
cookie-sig.rkt
cookie-unit.rkt Big newline at EOF scan. 2012-02-29 00:28:11 -05:00
cookie.rkt
dns-sig.rkt
dns-unit.rkt
dns.rkt
ftp-sig.rkt
ftp-unit.rkt
ftp.rkt
gifwrite.rkt
head-sig.rkt
head-unit.rkt
head.rkt
imap-sig.rkt
imap-unit.rkt
imap.rkt net/imap: add TLS support 2012-03-10 10:47:22 -07:00
mime-sig.rkt
mime-unit.rkt
mime-util.rkt net/mime: allow any subtype, exns as exn:fail subtypes; doc fixes 2012-01-08 12:14:51 -07:00
mime.rkt net/mime: allow any subtype, exns as exn:fail subtypes; doc fixes 2012-01-08 12:14:51 -07:00
nntp-sig.rkt
nntp-unit.rkt
nntp.rkt
pop3-sig.rkt
pop3-unit.rkt
pop3.rkt
qp-sig.rkt
qp-unit.rkt
qp.rkt
sendmail-sig.rkt Revise `net/sendmail'. 2011-12-20 15:53:40 -05:00
sendmail-unit.rkt
sendmail.rkt Quote sender, subject, and recipients strings if needed. 2011-12-20 16:13:13 -05:00
sendurl.rkt
smtp-sig.rkt
smtp-unit.rkt
smtp.rkt net/smtp: fix auth encoding to not add extra CRLFs 2012-02-21 06:14:44 -07:00
ssl-tcp-unit.rkt
tcp-redirect.rkt
tcp-sig.rkt
tcp-unit.rkt
unihead.rkt Minor typo in recent new regexp. 2011-12-28 21:07:25 -05:00
uri-codec-sig.rkt
uri-codec-unit.rkt
uri-codec.rkt
url-connect.rkt
url-sig.rkt
url-structs.rkt
url-unit.rkt
url.rkt adjust the contract on string->url so that it actually catches all of 2012-03-29 19:31:32 -05:00
websocket.rkt