ht2p 0.0.1 → 0.0.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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.2
@@ -1,13 +1,19 @@
1
1
  class HT2P::Client::Response
2
2
  attr_reader :code, :header
3
3
 
4
+ HAS_BODY = [:get, :post, :put, :delete, :trace]
5
+
4
6
  def initialize(client)
5
7
  @client, @code, @header = client, *client.response_header
6
8
 
7
- @body = if @header['transfer-encoding'].to_s.downcase == 'chunked'
8
- Chunked.new(@client)
9
+ @body = if HAS_BODY.include? @client.request.method
10
+ if @header['transfer-encoding'].to_s.downcase == 'chunked'
11
+ Chunked.new(@client)
12
+ else
13
+ Transfer.new(@client, @header['content-length'].to_i)
14
+ end
9
15
  else
10
- Transfer.new(@client, @header['content-length'].to_i)
16
+ Empty.new
11
17
  end
12
18
  end
13
19
 
@@ -58,4 +64,10 @@ class HT2P::Client::Response
58
64
  @size = @client.gets.chop!.hex
59
65
  end
60
66
  end
67
+
68
+ class Empty
69
+ def read(length=nil)
70
+ nil
71
+ end
72
+ end
61
73
  end
data/lib/ht2p/client.rb CHANGED
@@ -3,7 +3,7 @@ require 'socket'
3
3
  require 'openssl'
4
4
 
5
5
  class HT2P::Client
6
- attr_reader :uri
6
+ attr_reader :uri, :request
7
7
 
8
8
  def initialize(uri, params={}, &block)
9
9
  @uri = URI.parse(uri)
@@ -16,13 +16,15 @@ class HT2P::Client
16
16
  begin
17
17
  @socket = OpenSSL::SSL::SSLSocket.new(socket)
18
18
  @socket.connect
19
- block.call HT2P::Client::Request.new(self, params)
19
+ @request = HT2P::Client::Request.new(self, params)
20
+ block.call @request
20
21
  ensure
21
22
  @socket.close
22
23
  end
23
24
  else
24
25
  @socket = socket
25
- block.call HT2P::Client::Request.new(self, params)
26
+ @request = HT2P::Client::Request.new(self, params)
27
+ block.call @request
26
28
  end
27
29
  end
28
30
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ht2p
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jun Kikuchi
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-10 00:00:00 +09:00
12
+ date: 2009-11-11 00:00:00 +09:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency