class Thrift::HTTPClientTransport
Public Class Methods
new(url, opts = {})
click to toggle source
# File lib/thrift/transport/http_client_transport.rb 30 def initialize(url, opts = {}) 31 @url = URI url 32 @headers = {'Content-Type' => 'application/x-thrift'} 33 @outbuf = Bytes.empty_byte_buffer 34 @ssl_verify_mode = opts.fetch(:ssl_verify_mode, OpenSSL::SSL::VERIFY_PEER) 35 end
Public Instance Methods
add_headers(headers)
click to toggle source
# File lib/thrift/transport/http_client_transport.rb 41 def add_headers(headers) 42 @headers = @headers.merge(headers) 43 end
flush()
click to toggle source
# File lib/thrift/transport/http_client_transport.rb 45 def flush 46 http = Net::HTTP.new @url.host, @url.port 47 http.use_ssl = @url.scheme == 'https' 48 http.verify_mode = @ssl_verify_mode if @url.scheme == 'https' 49 resp = http.post(@url.request_uri, @outbuf, @headers) 50 data = resp.body 51 data = Bytes.force_binary_encoding(data) 52 @inbuf = StringIO.new data 53 @outbuf = Bytes.empty_byte_buffer 54 end
open?()
click to toggle source
# File lib/thrift/transport/http_client_transport.rb 37 def open?; true end
read(sz)
click to toggle source
# File lib/thrift/transport/http_client_transport.rb 38 def read(sz); @inbuf.read sz end
write(buf)
click to toggle source
# File lib/thrift/transport/http_client_transport.rb 39 def write(buf); @outbuf << Bytes.force_binary_encoding(buf) end