diff --git a/collects/typed/net/cgi.ss b/collects/typed/net/cgi.ss index 7287e6f073..65aac77ccc 100644 --- a/collects/typed/net/cgi.ss +++ b/collects/typed/net/cgi.ss @@ -3,13 +3,14 @@ (require typed/private/utils) (require-typed-struct cgi-error () net/cgi) -(require-typed-struct incomplete-%-suffix ([chars : (Listof Char)]) net/cgi) -(require-typed-struct invalid-%-suffix ([char : Char]) net/cgi) +(require-typed-struct (incomplete-%-suffix cgi-error) ([chars : (Listof Char)]) net/cgi) +(require-typed-struct (invalid-%-suffix cgi-error) ([char : Char]) net/cgi) + (require/typed/provide net/cgi [get-bindings (-> (Listof (cons (U Symbol String) String)))] [get-bindings/post (-> (Listof (Pair (U Symbol String) String)))] - [get-bindings/get (-> (Listof (Pair (U Symbol String) String)) )] + [get-bindings/get (-> (Listof (Pair (U Symbol String) String)))] [output-http-headers (-> Void)] [generate-html-output (case-lambda (String (Listof String) -> Void) (String (Listof String) String String String String String -> Void))] @@ -21,6 +22,7 @@ [string->html (String -> String)] [generate-link-text (String String -> String)]) + (provide (struct-out cgi-error) (struct-out incomplete-%-suffix) diff --git a/collects/typed/net/cookie.ss b/collects/typed/net/cookie.ss index f2ff60224c..391463b938 100644 --- a/collects/typed/net/cookie.ss +++ b/collects/typed/net/cookie.ss @@ -18,6 +18,6 @@ [get-cookie (String String -> (Listof String))] [get-cookie/single (String String -> (Option String))]) -(require-typed-struct cookie-error () net/cookie) +(require-typed-struct (cookie-error exn:fail) () net/cookie) (provide Cookie cookie? (struct-out cookie-error)) \ No newline at end of file diff --git a/collects/typed/net/mime.ss b/collects/typed/net/mime.ss index 167f000335..5a9b3f7bb9 100644 --- a/collects/typed/net/mime.ss +++ b/collects/typed/net/mime.ss @@ -30,42 +30,35 @@ ;; -- exceptions raised -- -(require/typed mime-error? (Any -> Boolean : (Opaque mime-error?)) net/mime) -(require/typed unexpected-termination? (Any -> Boolean :(Opaque unexpected-termination?)) net/mime) -(require/typed unexpected-termination-msg ((Opaque unexpected-termination?) -> message) net/mime) -(require/typed missing-multipart-boundary-parameter? (Any -> Boolean : (Opaque missing-multipart-boundary-parameter?)) net/mime) -(require/typed malformed-multipart-entity? (Any -> Boolean : (Opaque malformed-multipart-entity?)) net/mime) -(require/typed malformed-multipart-entity-msg ((Opaque malformed-multipart-entity?)-> message) net/mime) -(require/typed empty-mechanism? (Any -> Boolean : (Opaque empty-mechanism?)) net/mime) -(require/typed empty-type? (Any -> Boolean : (Opaque empty-type?)) net/mime) -(require/typed empty-subtype? (Any -> Boolean : (Opaque empty-subtype?)) net/mime) -(require/typed empty-disposition-type? (Any -> Boolean : (Opaque empty-disposition-type?)) net/mime) - +#| +(require-typed-struct mime-error () net/mime) +(require-typed-struct (unexpected-termination mime-error) ([msg : String]) net/mime) +(require-typed-struct (missing-multipart-boundary-parameter mime-error) () net/mime) +(require-typed-struct (malformed-multipart-entity mime-error) ([msg : String]) net/mime) +(require-typed-struct (empty-mechanism mime-error) () net/mime) +(require-typed-struct (empty-type mime-error) () net/mime) +(require-typed-struct (empty-subtype mime-error) () net/mime) +(require-typed-struct (empty-disposition-type mime-error) () net/mime) +|# ;; -- mime methods -- (require/typed/provide net/mime [mime-analyze ((U Bytes Input-Port) Any -> message)]) (provide - ;; -- exceptions raised -- - mime-error? - unexpected-termination? - unexpected-termination-msg - missing-multipart-boundary-parameter? - malformed-multipart-entity? - malformed-multipart-entity-msg - empty-mechanism? - empty-type? - empty-subtype? - empty-disposition-type? - ;; -- basic mime structures -- - message - entity - - disposition - - ;; -- mime methods -- - mime-analyze -) + (struct-out message) + (struct-out entity) + (struct-out disposition) + #| + (struct-out mime-error) + (struct-out unexpected-termination) + (struct-out missing-multipart-boundary) + (struct-out malformed-multipart-entity) + (struct-out empty-mechanism) + (struct-out empty-type) + (struct-out empty-subtype) + (struct-out empty-disposition-type) +|# + ) diff --git a/collects/typed/net/nntp.ss b/collects/typed/net/nntp.ss index 04468077f1..b66b7a53a1 100644 --- a/collects/typed/net/nntp.ss +++ b/collects/typed/net/nntp.ss @@ -2,8 +2,9 @@ (require typed/private/utils) -(require-typed-struct communicator ([sender : Number] [receiver : Number] [server : String] [port : Number]) - net/nntp) +(require-typed-struct/provide + communicator ([sender : Number] [receiver : Number] [server : String] [port : Number]) + net/nntp) (require/typed/provide net/nntp [connect-to-server (case-lambda (String -> communicator) (String Number -> communicator))] @@ -14,18 +15,17 @@ [body-of-message (communicator Number -> (Listof String))] [newnews-since (communicator Number -> (Listof String))] [generic-message-command (communicator Number -> (Listof String))] - [make-desired-header (String -> String)] ;;-> Regexp - [extract-desired-headers ((Listof String) (Listof String) -> (Listof String))]) ;;2nd: Of Regexp -#| -;; requires structure inheritance -(require-typed-struct nntp ()] -(require-typed-struct unexpected-response ([code : Number] [text : String])] -(require-typed-struct bad-status-line ([line : String])] -(require-typed-struct premature-close ([communicator : communicator])] -(require-typed-struct bad-newsgroup-line ([line : String])] -(require-typed-struct non-existent-group ([group : String])] -(require-typed-struct article-not-in-group ([article : Number])] -(require-typed-struct no-group-selected ()] -(require-typed-struct article-not-found ([article : Number])] -(require-typed-struct authentication-rejected ()] -|# + [make-desired-header (String -> String)] + [extract-desired-headers ((Listof String) (Listof String) -> (Listof String))]) + +(require-typed-struct/provide (nntp exn:fail) () net/nntp) +(require-typed-struct/provide (unexpected-response nntp) ([code : Number] [text : String]) net/nntp) +(require-typed-struct/provide (bad-status-line nntp) ([line : String]) net/nntp) +(require-typed-struct/provide (premature-close nntp) ([communicator : communicator]) net/nntp) +(require-typed-struct/provide (bad-newsgroup-line nntp) ([line : String]) net/nntp) +(require-typed-struct/provide (non-existent-group nntp) ([group : String]) net/nntp) +(require-typed-struct/provide (article-not-in-group nntp) ([article : Number]) net/nntp) +(require-typed-struct/provide (no-group-selected nntp) () net/nntp) +(require-typed-struct/provide (article-not-found nntp) ([article : Number]) net/nntp) +(require-typed-struct/provide (authentication-rejected nntp) () net/nntp) + diff --git a/collects/typed/net/pop3.ss b/collects/typed/net/pop3.ss index 8ecaa8f528..ddc232371c 100644 --- a/collects/typed/net/pop3.ss +++ b/collects/typed/net/pop3.ss @@ -2,37 +2,43 @@ (require typed/private/utils) -(require-typed-struct communicator ([sender : Number] [receiver : Number] [server : String] [port : Number] [state : Symbol])net/pop3) +(require-typed-struct/provide communicator + ([sender : Number] [receiver : Number] [server : String] [port : Number] [state : Symbol]) + net/pop3) (require/typed/provide net/pop3 - [connect-to-server ( case-lambda (String -> (Opaque communicator?)) (String Number -> (Opaque communicator?)) )] + [connect-to-server (case-lambda (String -> communicator) (String Number -> communicator))] - [disconnect-from-server ( (Opaque communicator?) -> Void )] - [authenticate/plain-text ( String String (Opaque communicator?) -> Void )] - [get-mailbox-status ( (Opaque communicator?) -> (values Number Number) )] - [get-message/complete ( (Opaque communicator?) Number -> (values (Listof String)(Listof String)) )] - [get-message/headers ( (Opaque communicator?) Number -> (Listof String) )] - [get-message/body ( (Opaque communicator?) Number -> (Listof String) )] - [delete-message ( (Opaque communicator?) Number -> Void )] - [get-unique-id/single ( (Opaque communicator?) Number -> String )] - [get-unique-id/all ( (Opaque communicator?) -> (Listof (cons Number String)) )] + [disconnect-from-server (communicator -> Void)] + [authenticate/plain-text (String String communicator -> Void)] + [get-mailbox-status (communicator -> (values Number Number))] + [get-message/complete (communicator Number -> (values (Listof String)(Listof String)))] + [get-message/headers (communicator Number -> (Listof String))] + [get-message/body (communicator Number -> (Listof String))] + [delete-message (communicator Number -> Void)] + [get-unique-id/single (communicator Number -> String)] + [get-unique-id/all (communicator -> (Listof (cons Number String)))] - [make-desired-header ( String -> String )];-> Regexp - [extract-desired-headers ( (Listof String)(Listof String)-> (Listof String) )];2nd:of Regexp - ) -(provide (struct-out communicator)) + [make-desired-header (String -> String)] + [extract-desired-headers ((Listof String)(Listof String)-> (Listof String))]) + + +(require-typed-struct/provide (pop3 exn) () net/pop3) +(require-typed-struct/provide (cannot-connect pop3) () net/pop3) +(require-typed-struct/provide (username-rejected pop3) () net/pop3) +(require-typed-struct/provide (password-rejected pop3) () net/pop3) +(require-typed-struct/provide (not-ready-for-transaction pop3) + ([communicator : communicator]) net/pop3) +(require-typed-struct/provide (not-given-headers pop3) + ([communicator : communicator] [message : Integer]) net/pop3) +(require-typed-struct/provide (illegal-message-number pop3) + ([communicator : communicator] [message : Integer]) net/pop3) +(require-typed-struct/provide (cannot-delete-message pop3) + ([communicator : communicator] [message : Integer]) net/pop3) +(require-typed-struct/provide (disconnect-not-quiet pop3) + ([communicator : communicator]) net/pop3) +(require-typed-struct/provide (malformed-server-response pop3) + ([communicator : communicator]) net/pop3) -#| -(require-typed-struct pop3 ()] -(require-typed-struct cannot-connect ()] -(require-typed-struct username-rejected ()] -(require-typed-struct password-rejected ()] -(require-typed-struct not-ready-for-transaction ([ communicator : (Opaque communicator?) ])net/pop3) -(require-typed-struct not-given-headers ([ communicator : (Opaque communicator?) ] [message : String])] -(require-typed-struct illegal-message-number ([communicator : (Opaque communicator?)] [message : String])] -(require-typed-struct cannot-delete-message ([communicator : (Opaque communicator?)] [message : String])] -(require-typed-struct disconnect-not-quiet ([communicator : (Opaque communicator?)])] -(require-typed-struct malformed-server-response ([communicator : (Opaque communicator?)])net/pop3) -|# \ No newline at end of file diff --git a/collects/typed/net/url.ss b/collects/typed/net/url.ss index 86add4fef6..b962319692 100644 --- a/collects/typed/net/url.ss +++ b/collects/typed/net/url.ss @@ -2,19 +2,21 @@ (require typed/private/utils) -(require-typed-struct path/param ([path : (U String 'up 'same)] [param : (Listof String)]) net/url) +(require-typed-struct/provide path/param ([path : (U String 'up 'same)] [param : (Listof String)]) net/url) -(require-typed-struct url ([scheme : (Option String)] - [user : (Option String)] - [host : (Option String)] - [port : (Option Integer)] - [path-absolute? : Boolean] - [path : (Listof path/param)] - [query : (Listof (Pair Symbol (Option String)))] - [fragment : (Option String)]) - net/url) +(require-typed-struct/provide + url ([scheme : (Option String)] + [user : (Option String)] + [host : (Option String)] + [port : (Option Integer)] + [path-absolute? : Boolean] + [path : (Listof path/param)] + [query : (Listof (Pair Symbol (Option String)))] + [fragment : (Option String)]) + net/url) (require/opaque-type URL-Exception url-exception? net/url) +(provide URL-Exception url-exception?) (define-type-alias PortT (case-lambda (url -> Input-Port) (url (Listof String)-> Input-Port))) (define-type-alias PortT/String (case-lambda (url String -> Input-Port) (url String (Listof String)-> Input-Port))) @@ -52,8 +54,3 @@ [url->string (url -> String)] [combine-url/relative (url String -> url)]) -(provide - URL-Exception - url-exception? - (struct-out url) - (struct-out path/param)) diff --git a/collects/typed/private/utils.ss b/collects/typed/private/utils.ss index c1fdbea7f6..5abf5a87f2 100644 --- a/collects/typed/private/utils.ss +++ b/collects/typed/private/utils.ss @@ -8,4 +8,13 @@ (require/typed lib [nm t] ...) (provide nm ...))) -(provide dt require/typed/provide) +(define-syntax require-typed-struct/provide + (syntax-rules () + [(_ (nm par) . rest) + (begin (require-typed-struct (nm par) . rest) + (provide (struct-out nm)))] + [(_ nm . rest) + (begin (require-typed-struct nm . rest) + (provide (struct-out nm)))])) + +(provide dt require/typed/provide require-typed-struct/provide)