http_objects 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. data/.gitignore +18 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +22 -0
  4. data/README.md +56 -0
  5. data/Rakefile +12 -0
  6. data/http_objects.gemspec +20 -0
  7. data/lib/http_objects/hash.rb +51 -0
  8. data/lib/http_objects/headers/attributes.rb +38 -0
  9. data/lib/http_objects/headers/directives/cache.rb +80 -0
  10. data/lib/http_objects/headers/entity.rb +43 -0
  11. data/lib/http_objects/headers/general.rb +42 -0
  12. data/lib/http_objects/headers/request.rb +116 -0
  13. data/lib/http_objects/headers/response.rb +55 -0
  14. data/lib/http_objects/headers/tools.rb +29 -0
  15. data/lib/http_objects/headers.rb +27 -0
  16. data/lib/http_objects/headers_hash.rb +25 -0
  17. data/lib/http_objects/parameters/basic_rules.rb +62 -0
  18. data/lib/http_objects/parameters/date_time.rb +19 -0
  19. data/lib/http_objects/parameters/entity_tags.rb +27 -0
  20. data/lib/http_objects/parameters/language_tags.rb +16 -0
  21. data/lib/http_objects/parameters/media_type.rb +29 -0
  22. data/lib/http_objects/parameters/uri.rb +21 -0
  23. data/lib/http_objects/parameters.rb +15 -0
  24. data/lib/http_objects/version.rb +3 -0
  25. data/lib/http_objects.rb +5 -0
  26. data/test/http_objects/hash_test.rb +74 -0
  27. data/test/http_objects/headers/attributes_test.rb +26 -0
  28. data/test/http_objects/headers/directives/cache_test.rb +72 -0
  29. data/test/http_objects/headers/entity/allow_test.rb +13 -0
  30. data/test/http_objects/headers/entity/content_encoding_test.rb +13 -0
  31. data/test/http_objects/headers/entity/content_language_test.rb +13 -0
  32. data/test/http_objects/headers/entity/content_lenght_test.rb +13 -0
  33. data/test/http_objects/headers/entity/content_location_test.rb +13 -0
  34. data/test/http_objects/headers/entity/content_md5_test.rb +13 -0
  35. data/test/http_objects/headers/entity/content_type_test.rb +12 -0
  36. data/test/http_objects/headers/entity/expires_test.rb +12 -0
  37. data/test/http_objects/headers/entity/last_modified_test.rb +12 -0
  38. data/test/http_objects/headers/general_test.rb +59 -0
  39. data/test/http_objects/headers/request/host_test.rb +13 -0
  40. data/test/http_objects/headers/request/if_match_test.rb +21 -0
  41. data/test/http_objects/headers/request/if_modified_since_test.rb +13 -0
  42. data/test/http_objects/headers/request/if_none_match_test.rb +21 -0
  43. data/test/http_objects/headers/request/if_range_test.rb +21 -0
  44. data/test/http_objects/headers/request/if_unmodified_since_test.rb +13 -0
  45. data/test/http_objects/headers/request/max_forwards_test.rb +13 -0
  46. data/test/http_objects/headers/request/referer_test.rb +13 -0
  47. data/test/http_objects/headers/response/age_test.rb +13 -0
  48. data/test/http_objects/headers/response/etag_test.rb +13 -0
  49. data/test/http_objects/headers/response/location_test.rb +13 -0
  50. data/test/http_objects/headers/response/retry_after_test.rb +21 -0
  51. data/test/http_objects/headers/tools_test.rb +28 -0
  52. data/test/http_objects/headers_hash_test.rb +18 -0
  53. data/test/http_objects/http_objects_test.rb +4 -0
  54. data/test/http_objects/parameters/basic_rules_test.rb +73 -0
  55. data/test/http_objects/parameters/date_time_test.rb +43 -0
  56. data/test/http_objects/parameters/entity_tags_test.rb +43 -0
  57. data/test/http_objects/parameters/language_tags_test.rb +36 -0
  58. data/test/http_objects/parameters/media_type_test.rb +22 -0
  59. data/test/http_objects/parameters/uri_test.rb +36 -0
  60. data/test/test_helper.rb +7 -0
  61. metadata +202 -0
@@ -0,0 +1,13 @@
1
+ require "test_helper"
2
+
3
+ include HttpObjects::Headers::Request
4
+
5
+ describe MaxForwards do
6
+
7
+ subject { MaxForwards.parse("3") }
8
+
9
+ it "should be Intger object" do
10
+ subject.must_be_kind_of(HttpObjects::Parameters::BasicRules::Digit)
11
+ end
12
+
13
+ end
@@ -0,0 +1,13 @@
1
+ require "test_helper"
2
+
3
+ include HttpObjects::Headers::Request
4
+
5
+ describe Referer do
6
+
7
+ subject { Referer.parse("http://www.w3.org/hypertext/DataSources/Overview.html") }
8
+
9
+ it "should be Uri object" do
10
+ subject.must_be_kind_of(HttpObjects::Parameters::Uri)
11
+ end
12
+
13
+ end
@@ -0,0 +1,13 @@
1
+ require "test_helper"
2
+
3
+ include HttpObjects::Headers::Response
4
+
5
+ describe Age do
6
+
7
+ subject { Age.parse("3") }
8
+
9
+ it "should be Integer object" do
10
+ subject.must_be_kind_of(HttpObjects::Parameters::BasicRules::Digit)
11
+ end
12
+
13
+ end
@@ -0,0 +1,13 @@
1
+ require "test_helper"
2
+
3
+ include HttpObjects::Headers::Response
4
+
5
+ describe ETag do
6
+
7
+ subject { ETag.parse("W/ABCDE123456") }
8
+
9
+ it "should be EntityTags object" do
10
+ subject.must_be_kind_of(HttpObjects::Parameters::EntityTags)
11
+ end
12
+
13
+ end
@@ -0,0 +1,13 @@
1
+ require "test_helper"
2
+
3
+ include HttpObjects::Headers::Response
4
+
5
+ describe Location do
6
+
7
+ subject { Location.parse("http://www.w3.org/pub/WWW/People.html") }
8
+
9
+ it "should be Uri object" do
10
+ subject.must_be_kind_of(HttpObjects::Parameters::Uri)
11
+ end
12
+
13
+ end
@@ -0,0 +1,21 @@
1
+ require "test_helper"
2
+
3
+ include HttpObjects::Headers::Response
4
+
5
+ describe RetryAfter do
6
+
7
+ describe "support date time format" do
8
+ subject { RetryAfter.parse("Fri, 31 Dec 1999 23:59:59 GMT") }
9
+ it "should be Date Time object" do
10
+ subject.must_be_kind_of(HttpObjects::Parameters::DateTime)
11
+ end
12
+ end
13
+
14
+ describe "delta-seconds" do
15
+ subject { RetryAfter.parse("120") }
16
+ it "should be Integer object" do
17
+ subject.must_be_kind_of(HttpObjects::Parameters::BasicRules::Digit)
18
+ end
19
+ end
20
+
21
+ end
@@ -0,0 +1,28 @@
1
+ require "test_helper"
2
+
3
+ describe HttpObjects::Headers::Tools do
4
+
5
+ TestObject = Class.new
6
+
7
+ subject { Object.new.extend(HttpObjects::Headers::Tools) }
8
+
9
+ describe "Header" do
10
+ it "creates Class" do
11
+ header_class = subject.Header("name", TestObject)
12
+ header_class.new.must_be_kind_of(TestObject)
13
+ end
14
+ it "creates Class with header_name" do
15
+ header_class = subject.Header("name", TestObject)
16
+ header_class.header_name.must_equal("name")
17
+ end
18
+ it "creates Class using block" do
19
+ header_class = subject.Header("custom") do
20
+ def self.parse(value)
21
+ "#{value} header class!"
22
+ end
23
+ end
24
+ header_class.parse("custom").must_equal("custom header class!")
25
+ end
26
+ end
27
+
28
+ end
@@ -0,0 +1,18 @@
1
+ require "test_helper"
2
+
3
+ describe HttpObjects::HeadersHash do
4
+
5
+ subject { HttpObjects::HeadersHash.new }
6
+
7
+ it "kind of HttpObjects::Hash" do
8
+ subject.must_be_kind_of(HttpObjects::Hash)
9
+ end
10
+
11
+ it "include all HTTP Headers" do
12
+ subject = HttpObjects::HeadersHash.attributes.values
13
+ HttpObjects::Headers.headers.each do |h|
14
+ subject.must_include(h)
15
+ end
16
+ end
17
+
18
+ end
@@ -0,0 +1,4 @@
1
+ require "test_helper"
2
+
3
+ describe HttpObjects do
4
+ end
@@ -0,0 +1,73 @@
1
+ require "test_helper"
2
+
3
+ include HttpObjects::Parameters::BasicRules
4
+
5
+ describe Base do
6
+ subject { Class.new(Base) }
7
+ it "respond to .parse" do
8
+ subject.must_respond_to(:parse)
9
+ end
10
+ it ".parse must raise Error" do
11
+ lambda { subject.parse(nil) }.must_raise(RuntimeError)
12
+ end
13
+ describe "#initialize" do
14
+ it "raw and value" do
15
+ base_instance = subject.new("raw", "value")
16
+ base_instance.raw.must_equal("raw")
17
+ base_instance.value.must_equal("value")
18
+ end
19
+ end
20
+ end
21
+
22
+ describe Token do
23
+ subject { Token.parse("aad883420fe64e865ba1725e5617222c") }
24
+ it "#raw" do
25
+ subject.raw.must_equal("aad883420fe64e865ba1725e5617222c")
26
+ end
27
+ it "#value" do
28
+ subject.value.must_equal("aad883420fe64e865ba1725e5617222c")
29
+ end
30
+ end
31
+
32
+ describe Digit do
33
+ subject { Digit.parse("1024") }
34
+ it "#raw" do
35
+ subject.raw.must_equal("1024")
36
+ end
37
+ it "#value" do
38
+ subject.value.must_equal(1024)
39
+ end
40
+ end
41
+
42
+ describe UpAlpha do
43
+ subject { UpAlpha.parse("TeSt") }
44
+ it "#raw" do
45
+ subject.raw.must_equal("TeSt")
46
+ end
47
+ it "#value" do
48
+ subject.value.must_equal("TEST")
49
+ end
50
+ end
51
+
52
+ describe LoAlpha do
53
+ subject { LoAlpha.parse("TeSt") }
54
+ it "#raw" do
55
+ subject.raw.must_equal("TeSt")
56
+ end
57
+ it "#value" do
58
+ subject.value.must_equal("test")
59
+ end
60
+ end
61
+
62
+ nil_checks = [[Token, nil], [Digit, 0], [UpAlpha, ""], [LoAlpha, ""]]
63
+ nil_checks.each do |(rule_class, value)|
64
+ describe "#{rule_class.to_s} support nil" do
65
+ subject { rule_class.parse(nil) }
66
+ it "#raw" do
67
+ subject.raw.must_be_nil
68
+ end
69
+ it "#value" do
70
+ subject.value.must_equal(value)
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,43 @@
1
+ require "test_helper"
2
+
3
+ describe HttpObjects::Parameters::DateTime do
4
+
5
+ let(:subject_class) { HttpObjects::Parameters::DateTime }
6
+
7
+ describe "Sun, 06 Nov 1994 08:49:37 GMT" do
8
+ subject { subject_class.parse("Sun, 06 Nov 1994 08:49:37 GMT") }
9
+ it "#raw" do
10
+ subject.raw.must_equal("Sun, 06 Nov 1994 08:49:37 GMT")
11
+ end
12
+ it "#value be instance Time" do
13
+ subject.value.must_be_instance_of(::Time)
14
+ end
15
+ it "#value" do
16
+ subject.value.strftime("%Y-%m-%d %H:%M:%S %z").must_equal("1994-11-06 06:49:37 -0200")
17
+ end
18
+ end
19
+
20
+ describe "Sunday, 06-Nov-94 08:49:37 GMT" do
21
+ subject { subject_class.parse("Sunday, 06-Nov-94 08:49:37 GMT") }
22
+ it "#raw" do
23
+ subject.raw.must_equal("Sunday, 06-Nov-94 08:49:37 GMT")
24
+ end
25
+ it "#value be instance Time" do
26
+ subject.value.must_be_instance_of(::Time)
27
+ end
28
+ it "#value" do
29
+ subject.value.strftime("%Y-%m-%d %H:%M:%S %z").must_equal("1994-11-06 06:49:37 -0200")
30
+ end
31
+ end
32
+
33
+ describe "fail in silence" do
34
+ subject { subject_class.parse("Sunday, XXX") }
35
+ it "#raw" do
36
+ subject.raw.must_equal("Sunday, XXX")
37
+ end
38
+ it "#value be nil" do
39
+ subject.value.must_be_nil
40
+ end
41
+ end
42
+
43
+ end
@@ -0,0 +1,43 @@
1
+ require "test_helper"
2
+
3
+ include HttpObjects::Parameters
4
+
5
+ describe EntityTags do
6
+
7
+ describe '"123456789"' do
8
+ subject { EntityTags.parse('"123456789"') }
9
+ it "#raw" do
10
+ subject.raw.must_equal('"123456789"')
11
+ end
12
+ it "#value be quoted String" do
13
+ subject.value.must_equal('"123456789"')
14
+ end
15
+ it "#weak?" do
16
+ subject.weak?.must_equal(false)
17
+ end
18
+ end
19
+
20
+ describe 'W/"123456789"' do
21
+ subject { EntityTags.parse('W/"123456789"') }
22
+ it "#raw" do
23
+ subject.raw.must_equal('W/"123456789"')
24
+ end
25
+ it "#value be quoted String" do
26
+ subject.value.must_equal('"123456789"')
27
+ end
28
+ it "#weak?" do
29
+ subject.weak?.must_equal(true)
30
+ end
31
+ end
32
+
33
+ describe "parse invalid header" do
34
+ subject { EntityTags.parse('\WABCDEF1234567') }
35
+ it "#raw" do
36
+ subject.raw.must_equal('\WABCDEF1234567')
37
+ end
38
+ it "#value be empty String" do
39
+ subject.value.must_equal("")
40
+ end
41
+ end
42
+
43
+ end
@@ -0,0 +1,36 @@
1
+ require "test_helper"
2
+
3
+ include HttpObjects::Parameters
4
+
5
+ describe LanguageTags do
6
+
7
+ describe "en, en-US, en-cockney, i-cherokee, x-pig-latin" do
8
+ subject { LanguageTags.parse("en, en-US, en-cockney, i-cherokee, x-pig-latin") }
9
+ it "#raw" do
10
+ subject.raw.must_equal("en, en-US, en-cockney, i-cherokee, x-pig-latin")
11
+ end
12
+ it "#value be Array of languages" do
13
+ subject.value.must_equal(%w{en en-US en-cockney i-cherokee x-pig-latin})
14
+ end
15
+ end
16
+
17
+ describe "pt-br" do
18
+ subject { LanguageTags.parse("pt-br") }
19
+ it "#raw" do
20
+ subject.raw.must_equal("pt-br")
21
+ end
22
+ it "#value be Array of languages" do
23
+ subject.value.must_equal(%w{pt-br})
24
+ end
25
+ end
26
+
27
+ describe "nil value" do
28
+ subject { LanguageTags.parse(nil) }
29
+ it "#raw" do
30
+ subject.raw.must_be_nil
31
+ end
32
+ it "#value be Array of languages" do
33
+ subject.value.must_equal([])
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,22 @@
1
+ require "test_helper"
2
+
3
+ describe HttpObjects::Parameters::MediaType do
4
+
5
+ let(:subject_class) { HttpObjects::Parameters::MediaType }
6
+
7
+ describe "text/html; charset=ISO-8859-4" do
8
+
9
+ subject { subject_class.parse("text/html; charset=ISO-8859-4") }
10
+
11
+ it "#raw" do
12
+ subject.raw.must_equal("text/html; charset=ISO-8859-4")
13
+ end
14
+ it "#value" do
15
+ subject.value.must_equal("text/html")
16
+ end
17
+ it "#parameters" do
18
+ subject.parameters.must_equal("charset" => "ISO-8859-4")
19
+ end
20
+ end
21
+
22
+ end
@@ -0,0 +1,36 @@
1
+ require "test_helper"
2
+
3
+ include HttpObjects::Parameters
4
+
5
+ describe Uri do
6
+
7
+ describe "http://server.com/absolute" do
8
+ subject { Uri.parse("http://server.com/absolute") }
9
+ it "#raw" do
10
+ subject.raw.must_equal("http://server.com/absolute")
11
+ end
12
+ it "#value be URI object" do
13
+ subject.value.must_be_instance_of(::URI::HTTP)
14
+ end
15
+ end
16
+
17
+ describe "/relative_path" do
18
+ subject { Uri.parse("/relative_path") }
19
+ it "#raw" do
20
+ subject.raw.must_equal("/relative_path")
21
+ end
22
+ it "#value be URI object" do
23
+ subject.value.must_be_instance_of(::URI::Generic)
24
+ end
25
+ end
26
+
27
+ describe "nil value" do
28
+ subject { Uri.parse(nil) }
29
+ it "#raw" do
30
+ subject.raw.must_be_nil
31
+ end
32
+ it "#value be nil" do
33
+ subject.value.must_be_nil
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,7 @@
1
+ require "http_objects"
2
+
3
+ require "minitest/autorun"
4
+ require "minitest/reporters"
5
+
6
+ MiniTest::Unit.runner = MiniTest::SuiteRunner.new
7
+ MiniTest::Unit.runner.reporters << MiniTest::Reporters::SpecReporter.new
metadata ADDED
@@ -0,0 +1,202 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: http_objects
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - Roger Leite
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2012-12-18 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: rake
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 0
31
+ version: "0"
32
+ type: :development
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: minitest
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ~>
41
+ - !ruby/object:Gem::Version
42
+ hash: 5
43
+ segments:
44
+ - 3
45
+ version: "3"
46
+ type: :development
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: minitest-reporters
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ~>
55
+ - !ruby/object:Gem::Version
56
+ hash: 3
57
+ segments:
58
+ - 0
59
+ - 7
60
+ - 0
61
+ version: 0.7.0
62
+ type: :development
63
+ version_requirements: *id003
64
+ description: HTTP 1.1 by the spec, specially headers
65
+ email:
66
+ - roger.barreto@gmail.com
67
+ executables: []
68
+
69
+ extensions: []
70
+
71
+ extra_rdoc_files: []
72
+
73
+ files:
74
+ - .gitignore
75
+ - Gemfile
76
+ - LICENSE
77
+ - README.md
78
+ - Rakefile
79
+ - http_objects.gemspec
80
+ - lib/http_objects.rb
81
+ - lib/http_objects/hash.rb
82
+ - lib/http_objects/headers.rb
83
+ - lib/http_objects/headers/attributes.rb
84
+ - lib/http_objects/headers/directives/cache.rb
85
+ - lib/http_objects/headers/entity.rb
86
+ - lib/http_objects/headers/general.rb
87
+ - lib/http_objects/headers/request.rb
88
+ - lib/http_objects/headers/response.rb
89
+ - lib/http_objects/headers/tools.rb
90
+ - lib/http_objects/headers_hash.rb
91
+ - lib/http_objects/parameters.rb
92
+ - lib/http_objects/parameters/basic_rules.rb
93
+ - lib/http_objects/parameters/date_time.rb
94
+ - lib/http_objects/parameters/entity_tags.rb
95
+ - lib/http_objects/parameters/language_tags.rb
96
+ - lib/http_objects/parameters/media_type.rb
97
+ - lib/http_objects/parameters/uri.rb
98
+ - lib/http_objects/version.rb
99
+ - test/http_objects/hash_test.rb
100
+ - test/http_objects/headers/attributes_test.rb
101
+ - test/http_objects/headers/directives/cache_test.rb
102
+ - test/http_objects/headers/entity/allow_test.rb
103
+ - test/http_objects/headers/entity/content_encoding_test.rb
104
+ - test/http_objects/headers/entity/content_language_test.rb
105
+ - test/http_objects/headers/entity/content_lenght_test.rb
106
+ - test/http_objects/headers/entity/content_location_test.rb
107
+ - test/http_objects/headers/entity/content_md5_test.rb
108
+ - test/http_objects/headers/entity/content_type_test.rb
109
+ - test/http_objects/headers/entity/expires_test.rb
110
+ - test/http_objects/headers/entity/last_modified_test.rb
111
+ - test/http_objects/headers/general_test.rb
112
+ - test/http_objects/headers/request/host_test.rb
113
+ - test/http_objects/headers/request/if_match_test.rb
114
+ - test/http_objects/headers/request/if_modified_since_test.rb
115
+ - test/http_objects/headers/request/if_none_match_test.rb
116
+ - test/http_objects/headers/request/if_range_test.rb
117
+ - test/http_objects/headers/request/if_unmodified_since_test.rb
118
+ - test/http_objects/headers/request/max_forwards_test.rb
119
+ - test/http_objects/headers/request/referer_test.rb
120
+ - test/http_objects/headers/response/age_test.rb
121
+ - test/http_objects/headers/response/etag_test.rb
122
+ - test/http_objects/headers/response/location_test.rb
123
+ - test/http_objects/headers/response/retry_after_test.rb
124
+ - test/http_objects/headers/tools_test.rb
125
+ - test/http_objects/headers_hash_test.rb
126
+ - test/http_objects/http_objects_test.rb
127
+ - test/http_objects/parameters/basic_rules_test.rb
128
+ - test/http_objects/parameters/date_time_test.rb
129
+ - test/http_objects/parameters/entity_tags_test.rb
130
+ - test/http_objects/parameters/language_tags_test.rb
131
+ - test/http_objects/parameters/media_type_test.rb
132
+ - test/http_objects/parameters/uri_test.rb
133
+ - test/test_helper.rb
134
+ homepage: https://github.com/rogerleite/http_objects
135
+ licenses: []
136
+
137
+ post_install_message:
138
+ rdoc_options: []
139
+
140
+ require_paths:
141
+ - lib
142
+ required_ruby_version: !ruby/object:Gem::Requirement
143
+ none: false
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ hash: 3
148
+ segments:
149
+ - 0
150
+ version: "0"
151
+ required_rubygems_version: !ruby/object:Gem::Requirement
152
+ none: false
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ hash: 3
157
+ segments:
158
+ - 0
159
+ version: "0"
160
+ requirements: []
161
+
162
+ rubyforge_project:
163
+ rubygems_version: 1.8.15
164
+ signing_key:
165
+ specification_version: 3
166
+ summary: HTTP 1.1 by the spec, specially headers
167
+ test_files:
168
+ - test/http_objects/hash_test.rb
169
+ - test/http_objects/headers/attributes_test.rb
170
+ - test/http_objects/headers/directives/cache_test.rb
171
+ - test/http_objects/headers/entity/allow_test.rb
172
+ - test/http_objects/headers/entity/content_encoding_test.rb
173
+ - test/http_objects/headers/entity/content_language_test.rb
174
+ - test/http_objects/headers/entity/content_lenght_test.rb
175
+ - test/http_objects/headers/entity/content_location_test.rb
176
+ - test/http_objects/headers/entity/content_md5_test.rb
177
+ - test/http_objects/headers/entity/content_type_test.rb
178
+ - test/http_objects/headers/entity/expires_test.rb
179
+ - test/http_objects/headers/entity/last_modified_test.rb
180
+ - test/http_objects/headers/general_test.rb
181
+ - test/http_objects/headers/request/host_test.rb
182
+ - test/http_objects/headers/request/if_match_test.rb
183
+ - test/http_objects/headers/request/if_modified_since_test.rb
184
+ - test/http_objects/headers/request/if_none_match_test.rb
185
+ - test/http_objects/headers/request/if_range_test.rb
186
+ - test/http_objects/headers/request/if_unmodified_since_test.rb
187
+ - test/http_objects/headers/request/max_forwards_test.rb
188
+ - test/http_objects/headers/request/referer_test.rb
189
+ - test/http_objects/headers/response/age_test.rb
190
+ - test/http_objects/headers/response/etag_test.rb
191
+ - test/http_objects/headers/response/location_test.rb
192
+ - test/http_objects/headers/response/retry_after_test.rb
193
+ - test/http_objects/headers/tools_test.rb
194
+ - test/http_objects/headers_hash_test.rb
195
+ - test/http_objects/http_objects_test.rb
196
+ - test/http_objects/parameters/basic_rules_test.rb
197
+ - test/http_objects/parameters/date_time_test.rb
198
+ - test/http_objects/parameters/entity_tags_test.rb
199
+ - test/http_objects/parameters/language_tags_test.rb
200
+ - test/http_objects/parameters/media_type_test.rb
201
+ - test/http_objects/parameters/uri_test.rb
202
+ - test/test_helper.rb