hessian 0.5.1 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. data/Rakefile +1 -1
  2. data/lib/hessian.rb +7 -4
  3. metadata +2 -2
data/Rakefile CHANGED
@@ -9,7 +9,7 @@ Rake::TestTask.new do |t|
9
9
  t.warning = true
10
10
  end
11
11
 
12
- PKG_VERSION = "0.5.1"
12
+ PKG_VERSION = "0.5.2"
13
13
  PKG_FILES = FileList[
14
14
  'LICENSE',
15
15
  'Rakefile',
data/lib/hessian.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'uri'
2
2
  require 'net/http'
3
+ require 'net/https'
3
4
 
4
5
  module Hessian
5
6
  class Binary
@@ -17,11 +18,11 @@ module Hessian
17
18
  end
18
19
 
19
20
  class HessianClient
20
- attr_reader :host, :port, :path, :proxy
21
+ attr_reader :scheme, :host, :port, :path, :proxy
21
22
  def initialize(url, proxy = {})
22
23
  uri = URI.parse(url)
23
- @host, @port, @path = uri.host, uri.port, uri.path
24
- raise "Unsupported Hessian protocol: #{uri.scheme}" unless uri.scheme == "http"
24
+ @scheme, @host, @port, @path = uri.scheme, uri.host, uri.port, uri.path
25
+ raise "Unsupported Hessian protocol: #@scheme" unless @scheme == 'http' || @scheme == 'https'
25
26
  @proxy = proxy
26
27
  end
27
28
 
@@ -33,7 +34,9 @@ module Hessian
33
34
  def invoke(method, args)
34
35
  req = HessianWriter.new.write_call method, args
35
36
  header = { 'Content-Type' => 'application/binary' }
36
- Net::HTTP.start(@host, @port, *@proxy.values_at(:host, :port, :user, :password)) do |http|
37
+ conn = Net::HTTP.new(@host, @port, *@proxy.values_at(:host, :port, :user, :password))
38
+ conn.use_ssl = true and conn.verify_mode = OpenSSL::SSL::VERIFY_NONE if @scheme == 'https'
39
+ conn.start do |http|
37
40
  res = http.send_request('POST', @path, req, header)
38
41
  HessianParser.new.parse_response res.body
39
42
  end
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: hessian
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.5.1
7
- date: 2006-02-06 00:00:00 +01:00
6
+ version: 0.5.2
7
+ date: 2006-02-25 00:00:00 +01:00
8
8
  summary: A Ruby Hessian client.
9
9
  require_paths:
10
10
  - lib