Project

General

Profile

Feature #12077

Updated by tonci (Tonči Damjanić) almost 9 years ago

Hello, 

 Is there a reason why `SSLSocket#read` doesn't work the same as `SSLSocket#sysread` and why there is no `SSLSocket#recv`?  

 Right now it is impossible to have code agnostic in regards to the socket type. 

 One solution is to monkey-patch `OpenSSL::SSL::SSLSocket` (see lower) to share the same interface as `TCPSocket`, but given the generic names of monkey-patched functions, I'm not sure if they could result with some leaks or strange behavior. 

 ~~~ 
 class OpenSSL::SSL::SSLSocket 
   def read(*args) 
     sysread(*args) 
   end 
  
   def write(*args) 
     syswrite(*args) 
   end 
  
   def close 
     sysclose 
   end 
 end 
 ~~~ 

 Thoughts?

Back