diff --git a/collects/net/scribblings/websocket.scrbl b/collects/net/scribblings/websocket.scrbl index 5833c5d117..ac68da317e 100644 --- a/collects/net/scribblings/websocket.scrbl +++ b/collects/net/scribblings/websocket.scrbl @@ -27,7 +27,9 @@ This module provides the exports from @racketmodname[net/websocket/client] and @ @defmodule[net/websocket/client] -@defproc[(ws-url? [x any/c]) boolean?]{ Returns true if @racket[x] is a @racket[url?] and has a @racket[url-scheme] equal to @litchar["ws"]. } +@defproc[(ws-url? [x any/c]) boolean?]{ Returns true if @racket[x] is a @racket[url?] and has a @racket[url-scheme] equal to @litchar["ws"] or @litchar["wss"]. } + +@defproc[(wss-url? [x any/c]) boolean?]{ Returns true if @racket[x] is a @racket[url?] and has a @racket[url-scheme] equal to @litchar["wss"]. } @defproc[(ws-connect [u ws-url?] [#:headers headers (listof header?) empty]) diff --git a/collects/net/websocket/client.rkt b/collects/net/websocket/client.rkt index 7158931559..8df8708561 100644 --- a/collects/net/websocket/client.rkt +++ b/collects/net/websocket/client.rkt @@ -8,17 +8,18 @@ openssl) (provide (except-out (all-from-out net/websocket/conn) ws-conn)) -(define (ws-secure-url? u) +(define (wss-url? u) (and (url? u) (equal? (url-scheme u) "wss"))) (define (ws-url? u) (and (url? u) (or (equal? (url-scheme u) "ws") - (ws-secure-url? u)))) + (wss-url? u)))) (provide/contract [ws-url? (-> any/c boolean?)] + [wss-url? (-> any/c boolean?)] [ws-connect (->* (ws-url?) (#:headers (listof header?)) open-ws-conn?)]) @@ -48,7 +49,7 @@ pre-path) pre-path))))) ; Connect - (define connect (if (ws-secure-url? url) ssl-connect tcp-connect)) + (define connect (if (wss-url? url) ssl-connect tcp-connect)) (define-values (ip op) (connect host port)) ; Handshake (client) (define-values (key1 key2 key3 client-ans) (generate-key))