Use SSL on outbound HTTPS connections properly
This commit is contained in:
parent
9d34ffea4f
commit
c8b7be22cc
|
@ -427,17 +427,20 @@
|
||||||
headers
|
headers
|
||||||
query)
|
query)
|
||||||
req)
|
req)
|
||||||
(values host
|
(values (match scheme
|
||||||
|
[(or "wss" "https") #t]
|
||||||
|
[_ #f])
|
||||||
|
host
|
||||||
(or port (match scheme
|
(or port (match scheme
|
||||||
["http" 80]
|
[(or "ws" "http") 80]
|
||||||
["https" 443]
|
[(or "wss" "https") 443]
|
||||||
[_ #f]))
|
[_ #f]))
|
||||||
method
|
method
|
||||||
(url->string (resource->url resource #:query query))
|
(url->string (resource->url resource #:query query))
|
||||||
headers))
|
headers))
|
||||||
|
|
||||||
(define (do-request-websocket id req)
|
(define (do-request-websocket id req)
|
||||||
(define-values (_host server-port method urlstr headers) (analyze-outbound-request req))
|
(define-values (_ssl? _host server-port method urlstr headers) (analyze-outbound-request req))
|
||||||
(define control-ch (make-channel))
|
(define control-ch (make-channel))
|
||||||
(if (not server-port)
|
(if (not server-port)
|
||||||
(send-ground-message (web-raw-client-conn id #f))
|
(send-ground-message (web-raw-client-conn id #f))
|
||||||
|
@ -463,7 +466,7 @@
|
||||||
(assert (web-response-websocket id #f)))))))
|
(assert (web-response-websocket id #f)))))))
|
||||||
|
|
||||||
(define (do-request-complete id req body)
|
(define (do-request-complete id req body)
|
||||||
(define-values (host server-port method urlstr headers) (analyze-outbound-request req))
|
(define-values (ssl? host server-port method urlstr headers) (analyze-outbound-request req))
|
||||||
(thread
|
(thread
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(define response
|
(define response
|
||||||
|
@ -473,6 +476,7 @@
|
||||||
(define-values (first-line header-lines body-port)
|
(define-values (first-line header-lines body-port)
|
||||||
(http-sendrecv host
|
(http-sendrecv host
|
||||||
urlstr
|
urlstr
|
||||||
|
#:ssl? ssl?
|
||||||
#:headers (build-http-client-headers headers)
|
#:headers (build-http-client-headers headers)
|
||||||
#:port server-port
|
#:port server-port
|
||||||
#:method (string-upcase (symbol->string method))
|
#:method (string-upcase (symbol->string method))
|
||||||
|
|
Loading…
Reference in New Issue