@@ -56,38 +56,39 @@ def test_https_proxy_ssl_connection
5656 omit 'autoload problem. see [ruby-dev:45021][Bug #5786]'
5757 end
5858
59- tcpserver = TCPServer . new ( "127.0.0.1" , 0 )
60- ctx = OpenSSL ::SSL ::SSLContext . new
61- ctx . key = OpenSSL ::PKey . read ( read_fixture ( "server.key" ) )
62- ctx . cert = OpenSSL ::X509 ::Certificate . new ( read_fixture ( "server.crt" ) )
63- serv = OpenSSL ::SSL ::SSLServer . new ( tcpserver , ctx )
59+ TCPServer . open ( "127.0.0.1" , 0 ) { | tcpserver |
60+ ctx = OpenSSL ::SSL ::SSLContext . new
61+ ctx . key = OpenSSL ::PKey . read ( read_fixture ( "server.key" ) )
62+ ctx . cert = OpenSSL ::X509 ::Certificate . new ( read_fixture ( "server.crt" ) )
63+ serv = OpenSSL ::SSL ::SSLServer . new ( tcpserver , ctx )
6464
65- _ , port , _ , _ = serv . addr
66- client_thread = Thread . new {
67- proxy = Net ::HTTP . Proxy ( "127.0.0.1" , port , 'user' , 'password' , true )
68- http = proxy . new ( "foo.example.org" , 8000 )
69- http . use_ssl = true
70- http . verify_mode = OpenSSL ::SSL ::VERIFY_NONE
71- begin
72- http . start
73- rescue EOFError
74- end
75- }
76- server_thread = Thread . new {
77- sock = serv . accept
78- begin
79- proxy_request = sock . gets ( "\r \n \r \n " )
80- assert_equal (
81- "CONNECT foo.example.org:8000 HTTP/1.1\r \n " +
82- "Host: foo.example.org:8000\r \n " +
83- "Proxy-Authorization: Basic dXNlcjpwYXNzd29yZA==\r \n " +
84- "\r \n " ,
85- proxy_request ,
86- "[ruby-core:96672]" )
87- ensure
88- sock . close
89- end
65+ _ , port , _ , _ = serv . addr
66+ client_thread = Thread . new {
67+ proxy = Net ::HTTP . Proxy ( "127.0.0.1" , port , 'user' , 'password' , true )
68+ http = proxy . new ( "foo.example.org" , 8000 )
69+ http . use_ssl = true
70+ http . verify_mode = OpenSSL ::SSL ::VERIFY_NONE
71+ begin
72+ http . start
73+ rescue EOFError
74+ end
75+ }
76+ server_thread = Thread . new {
77+ sock = serv . accept
78+ begin
79+ proxy_request = sock . gets ( "\r \n \r \n " )
80+ assert_equal (
81+ "CONNECT foo.example.org:8000 HTTP/1.1\r \n " +
82+ "Host: foo.example.org:8000\r \n " +
83+ "Proxy-Authorization: Basic dXNlcjpwYXNzd29yZA==\r \n " +
84+ "\r \n " ,
85+ proxy_request ,
86+ "[ruby-core:96672]" )
87+ ensure
88+ sock . close
89+ end
90+ }
91+ assert_join_threads ( [ client_thread , server_thread ] )
9092 }
91- assert_join_threads ( [ client_thread , server_thread ] )
9293 end
9394end if defined? ( OpenSSL )
0 commit comments