celluloid-http 0.0.1
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/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +29 -0
- data/Rakefile +1 -0
- data/celluloid-http.gemspec +26 -0
- data/lib/celluloid-http/connection.rb +39 -0
- data/lib/celluloid-http/http.rb +12 -0
- data/lib/celluloid-http/request.rb +22 -0
- data/lib/celluloid-http/response.rb +38 -0
- data/lib/celluloid-http/version.rb +5 -0
- data/lib/celluloid-http.rb +15 -0
- data/test/fixtures/en.wikipedia.org +1945 -0
- data/test/support/tcp_socket_stub.rb +14 -0
- data/test/test_helper.rb +20 -0
- data/test/unit/http_test.rb +14 -0
- data/test/unit/request_test.rb +19 -0
- data/test/unit/response_test.rb +31 -0
- metadata +149 -0
data/test/test_helper.rb
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'bundler/setup'
|
2
|
+
Bundler.require
|
3
|
+
|
4
|
+
require 'minitest/autorun'
|
5
|
+
require "mocha/setup"
|
6
|
+
|
7
|
+
Dir[File.expand_path(File.join(File.dirname(__FILE__),'support','**','*.rb'))].each {|f| require f}
|
8
|
+
|
9
|
+
class TestCase < MiniTest::Unit::TestCase
|
10
|
+
|
11
|
+
def fixture_file(name)
|
12
|
+
File.open("test/fixtures/#{name}")
|
13
|
+
end
|
14
|
+
|
15
|
+
def stub_connection_with_fixture(name)
|
16
|
+
socket = TcpSocketStub.new fixture_file(name)
|
17
|
+
Celluloid::IO::TCPSocket.stubs(:new).returns(socket)
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class HttpTest < TestCase
|
4
|
+
|
5
|
+
def test_get_http_request
|
6
|
+
stub_connection_with_fixture("en.wikipedia.org")
|
7
|
+
|
8
|
+
request = Celluloid::Http::Request.new 'http://en.wikipedia.org/wiki/Http'
|
9
|
+
response = Celluloid::Http.send_requst request
|
10
|
+
|
11
|
+
assert_match /Wikipedia, the free encyclopedia/, response.body
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class RequestTest < TestCase
|
4
|
+
|
5
|
+
def test_create_http_request
|
6
|
+
url = 'http://en.wikipedia.org/wiki/Http?param=value'
|
7
|
+
|
8
|
+
request = Celluloid::Http::Request.new url
|
9
|
+
|
10
|
+
assert_equal url, request.url
|
11
|
+
assert_equal :get, request.method
|
12
|
+
assert_equal 80, request.port
|
13
|
+
assert_equal "http", request.scheme
|
14
|
+
assert_equal "en.wikipedia.org", request.host
|
15
|
+
assert_equal "/wiki/Http", request.path
|
16
|
+
assert_equal "param=value", request.query
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class ResponseTest < TestCase
|
4
|
+
|
5
|
+
def test_create_http_response
|
6
|
+
body = '<!DOCTYPE html><html><head><heed><body>BODY</body></html>'
|
7
|
+
headers = {"Content-Length" => '172911'}
|
8
|
+
response = Celluloid::Http::Response.new :ok, headers, body
|
9
|
+
|
10
|
+
assert_equal :ok, response.status
|
11
|
+
assert_equal headers, response.headers
|
12
|
+
assert_equal body, response.body
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_parse_http_response
|
16
|
+
fixture_response = fixture_file("en.wikipedia.org")
|
17
|
+
|
18
|
+
response = Celluloid::Http::Response.new
|
19
|
+
|
20
|
+
while chunk = fixture_response.read(128)
|
21
|
+
response << chunk
|
22
|
+
end
|
23
|
+
|
24
|
+
assert response.finished?
|
25
|
+
assert_equal 200, response.status
|
26
|
+
assert_equal "172911", response.headers["Content-Length"]
|
27
|
+
assert_equal "en", response.headers["Content-Language"]
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
end
|
metadata
ADDED
@@ -0,0 +1,149 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: celluloid-http
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Rozhnov Alexandr
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-12-30 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: celluloid-io
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: http_parser.rb
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: turn
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: minitest
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: mocha
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
description: Http requests for celluloid.
|
95
|
+
email:
|
96
|
+
- gnox73@gmail.com
|
97
|
+
executables: []
|
98
|
+
extensions: []
|
99
|
+
extra_rdoc_files: []
|
100
|
+
files:
|
101
|
+
- .gitignore
|
102
|
+
- Gemfile
|
103
|
+
- LICENSE.txt
|
104
|
+
- README.md
|
105
|
+
- Rakefile
|
106
|
+
- celluloid-http.gemspec
|
107
|
+
- lib/celluloid-http.rb
|
108
|
+
- lib/celluloid-http/connection.rb
|
109
|
+
- lib/celluloid-http/http.rb
|
110
|
+
- lib/celluloid-http/request.rb
|
111
|
+
- lib/celluloid-http/response.rb
|
112
|
+
- lib/celluloid-http/version.rb
|
113
|
+
- test/fixtures/en.wikipedia.org
|
114
|
+
- test/support/tcp_socket_stub.rb
|
115
|
+
- test/test_helper.rb
|
116
|
+
- test/unit/http_test.rb
|
117
|
+
- test/unit/request_test.rb
|
118
|
+
- test/unit/response_test.rb
|
119
|
+
homepage: ''
|
120
|
+
licenses: []
|
121
|
+
post_install_message:
|
122
|
+
rdoc_options: []
|
123
|
+
require_paths:
|
124
|
+
- lib
|
125
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
126
|
+
none: false
|
127
|
+
requirements:
|
128
|
+
- - ! '>='
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '0'
|
131
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
132
|
+
none: false
|
133
|
+
requirements:
|
134
|
+
- - ! '>='
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: '0'
|
137
|
+
requirements: []
|
138
|
+
rubyforge_project:
|
139
|
+
rubygems_version: 1.8.24
|
140
|
+
signing_key:
|
141
|
+
specification_version: 3
|
142
|
+
summary: Http requests for celluloid. Based on Celluloid::IO.
|
143
|
+
test_files:
|
144
|
+
- test/fixtures/en.wikipedia.org
|
145
|
+
- test/support/tcp_socket_stub.rb
|
146
|
+
- test/test_helper.rb
|
147
|
+
- test/unit/http_test.rb
|
148
|
+
- test/unit/request_test.rb
|
149
|
+
- test/unit/response_test.rb
|