vcr 2.0.0.beta1 → 2.0.0.beta2

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 (88) hide show
  1. data/.gitignore +1 -0
  2. data/.travis.yml +3 -0
  3. data/CHANGELOG.md +37 -2
  4. data/Gemfile +2 -2
  5. data/README.md +10 -1
  6. data/Rakefile +43 -7
  7. data/Upgrade.md +45 -0
  8. data/features/.nav +1 -0
  9. data/features/cassettes/automatic_re_recording.feature +19 -17
  10. data/features/cassettes/dynamic_erb.feature +32 -28
  11. data/features/cassettes/exclusive.feature +28 -24
  12. data/features/cassettes/format.feature +213 -31
  13. data/features/cassettes/update_content_length_header.feature +20 -18
  14. data/features/configuration/filter_sensitive_data.feature +4 -4
  15. data/features/configuration/hooks.feature +27 -23
  16. data/features/http_libraries/em_http_request.feature +79 -75
  17. data/features/record_modes/all.feature +14 -14
  18. data/features/record_modes/new_episodes.feature +15 -15
  19. data/features/record_modes/none.feature +15 -15
  20. data/features/record_modes/once.feature +15 -15
  21. data/features/request_matching/body.feature +25 -23
  22. data/features/request_matching/custom_matcher.feature +25 -23
  23. data/features/request_matching/headers.feature +32 -36
  24. data/features/request_matching/host.feature +27 -25
  25. data/features/request_matching/identical_request_sequence.feature +27 -25
  26. data/features/request_matching/method.feature +27 -25
  27. data/features/request_matching/path.feature +27 -25
  28. data/features/request_matching/playback_repeats.feature +27 -25
  29. data/features/request_matching/uri.feature +27 -25
  30. data/features/request_matching/uri_without_param.feature +28 -26
  31. data/features/step_definitions/cli_steps.rb +71 -17
  32. data/features/support/env.rb +3 -1
  33. data/features/support/http_lib_filters.rb +6 -3
  34. data/features/support/vcr_cucumber_helpers.rb +4 -2
  35. data/lib/vcr.rb +6 -2
  36. data/lib/vcr/cassette.rb +75 -51
  37. data/lib/vcr/cassette/migrator.rb +111 -0
  38. data/lib/vcr/cassette/serializers.rb +35 -0
  39. data/lib/vcr/cassette/serializers/json.rb +23 -0
  40. data/lib/vcr/cassette/serializers/psych.rb +24 -0
  41. data/lib/vcr/cassette/serializers/syck.rb +35 -0
  42. data/lib/vcr/cassette/serializers/yaml.rb +24 -0
  43. data/lib/vcr/configuration.rb +6 -1
  44. data/lib/vcr/errors.rb +1 -1
  45. data/lib/vcr/library_hooks/excon.rb +1 -7
  46. data/lib/vcr/library_hooks/typhoeus.rb +6 -22
  47. data/lib/vcr/library_hooks/webmock.rb +1 -1
  48. data/lib/vcr/middleware/faraday.rb +1 -1
  49. data/lib/vcr/request_matcher_registry.rb +43 -30
  50. data/lib/vcr/structs.rb +209 -0
  51. data/lib/vcr/tasks/vcr.rake +9 -0
  52. data/lib/vcr/version.rb +1 -1
  53. data/spec/fixtures/cassette_spec/1_x_cassette.yml +110 -0
  54. data/spec/fixtures/cassette_spec/example.yml +79 -78
  55. data/spec/fixtures/cassette_spec/with_localhost_requests.yml +79 -77
  56. data/spec/fixtures/fake_example.com_responses.yml +78 -76
  57. data/spec/fixtures/match_requests_on.yml +147 -145
  58. data/spec/monkey_patches.rb +5 -5
  59. data/spec/support/http_library_adapters.rb +48 -0
  60. data/spec/support/shared_example_groups/hook_into_http_library.rb +53 -20
  61. data/spec/support/sinatra_app.rb +12 -0
  62. data/spec/vcr/cassette/http_interaction_list_spec.rb +1 -1
  63. data/spec/vcr/cassette/migrator_spec.rb +183 -0
  64. data/spec/vcr/cassette/serializers_spec.rb +122 -0
  65. data/spec/vcr/cassette_spec.rb +147 -83
  66. data/spec/vcr/configuration_spec.rb +11 -1
  67. data/spec/vcr/library_hooks/typhoeus_spec.rb +3 -3
  68. data/spec/vcr/library_hooks/webmock_spec.rb +7 -1
  69. data/spec/vcr/request_ignorer_spec.rb +1 -1
  70. data/spec/vcr/request_matcher_registry_spec.rb +46 -4
  71. data/spec/vcr/structs_spec.rb +309 -0
  72. data/spec/vcr_spec.rb +7 -0
  73. data/vcr.gemspec +9 -12
  74. metadata +75 -61
  75. data/lib/vcr/structs/http_interaction.rb +0 -58
  76. data/lib/vcr/structs/normalizers/body.rb +0 -24
  77. data/lib/vcr/structs/normalizers/header.rb +0 -64
  78. data/lib/vcr/structs/normalizers/status_message.rb +0 -17
  79. data/lib/vcr/structs/normalizers/uri.rb +0 -34
  80. data/lib/vcr/structs/request.rb +0 -13
  81. data/lib/vcr/structs/response.rb +0 -13
  82. data/lib/vcr/structs/response_status.rb +0 -5
  83. data/lib/vcr/util/yaml.rb +0 -11
  84. data/spec/support/shared_example_groups/normalizers.rb +0 -94
  85. data/spec/vcr/structs/http_interaction_spec.rb +0 -89
  86. data/spec/vcr/structs/request_spec.rb +0 -39
  87. data/spec/vcr/structs/response_spec.rb +0 -44
  88. data/spec/vcr/structs/response_status_spec.rb +0 -9
@@ -1,109 +1,111 @@
1
- ---
2
- - !ruby/struct:VCR::HTTPInteraction
3
- request: !ruby/struct:VCR::Request
4
- method: :get
5
- uri: http://localhost:80/
6
- body:
7
- headers:
8
- response: !ruby/struct:VCR::Response
9
- status: !ruby/struct:VCR::ResponseStatus
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://localhost/
6
+ body: ''
7
+ headers: {}
8
+ response:
9
+ status:
10
10
  code: 200
11
11
  message: OK
12
- headers:
13
- etag:
14
- - "\"24ec5-1b6-4059a80bfd280\""
15
- last-modified:
12
+ headers:
13
+ Etag:
14
+ - ! '"24ec5-1b6-4059a80bfd280"'
15
+ Last-Modified:
16
16
  - Tue, 15 Nov 2005 13:24:10 GMT
17
- connection:
17
+ Connection:
18
18
  - Keep-Alive
19
- content-type:
19
+ Content-Type:
20
20
  - text/html; charset=UTF-8
21
- date:
21
+ Date:
22
22
  - Thu, 25 Feb 2010 07:53:51 GMT
23
- server:
23
+ Server:
24
24
  - Apache/2.2.3 (CentOS)
25
- content-length:
26
- - "438"
27
- age:
28
- - "9260"
29
- accept-ranges:
25
+ Content-Length:
26
+ - '438'
27
+ Age:
28
+ - '9260'
29
+ Accept-Ranges:
30
30
  - bytes
31
31
  body: Localhost response
32
- http_version: "1.1"
33
- - !ruby/struct:VCR::HTTPInteraction
34
- request: !ruby/struct:VCR::Request
35
- method: :get
36
- uri: http://127.0.0.1:80/
37
- body:
38
- headers:
39
- response: !ruby/struct:VCR::Response
40
- status: !ruby/struct:VCR::ResponseStatus
32
+ http_version: '1.1'
33
+ recorded_at: Tue, 01 Nov 2011 04:49:54 GMT
34
+ - request:
35
+ method: get
36
+ uri: http://127.0.0.1/
37
+ body: ''
38
+ headers: {}
39
+ response:
40
+ status:
41
41
  code: 404
42
42
  message: Not Found
43
- headers:
44
- content-type:
43
+ headers:
44
+ Content-Type:
45
45
  - text/html; charset=iso-8859-1
46
- connection:
46
+ Connection:
47
47
  - close
48
- server:
48
+ Server:
49
49
  - Apache/2.2.3 (CentOS)
50
- date:
50
+ Date:
51
51
  - Thu, 25 Feb 2010 07:53:52 GMT
52
- content-length:
53
- - "277"
52
+ Content-Length:
53
+ - '277'
54
54
  body: 127.0.0.1 response
55
- http_version: "1.1"
56
- - !ruby/struct:VCR::HTTPInteraction
57
- request: !ruby/struct:VCR::Request
58
- method: :get
59
- uri: http://0.0.0.0:80/
60
- body:
61
- headers:
62
- response: !ruby/struct:VCR::Response
63
- status: !ruby/struct:VCR::ResponseStatus
55
+ http_version: '1.1'
56
+ recorded_at: Tue, 01 Nov 2011 04:49:54 GMT
57
+ - request:
58
+ method: get
59
+ uri: http://0.0.0.0/
60
+ body: ''
61
+ headers: {}
62
+ response:
63
+ status:
64
64
  code: 404
65
65
  message: Not Found
66
- headers:
67
- content-type:
66
+ headers:
67
+ Content-Type:
68
68
  - text/html; charset=iso-8859-1
69
- connection:
69
+ Connection:
70
70
  - close
71
- server:
71
+ Server:
72
72
  - Apache/2.2.3 (CentOS)
73
- date:
73
+ Date:
74
74
  - Thu, 25 Feb 2010 07:53:52 GMT
75
- content-length:
76
- - "277"
75
+ Content-Length:
76
+ - '277'
77
77
  body: 127.0.0.1 response
78
- http_version: "1.1"
79
- - !ruby/struct:VCR::HTTPInteraction
80
- request: !ruby/struct:VCR::Request
81
- method: :get
82
- uri: http://example.com:80/
83
- body:
84
- headers:
85
- response: !ruby/struct:VCR::Response
86
- status: !ruby/struct:VCR::ResponseStatus
78
+ http_version: '1.1'
79
+ recorded_at: Tue, 01 Nov 2011 04:49:54 GMT
80
+ - request:
81
+ method: get
82
+ uri: http://example.com/
83
+ body: ''
84
+ headers: {}
85
+ response:
86
+ status:
87
87
  code: 200
88
88
  message: OK
89
- headers:
90
- etag:
91
- - "\"24ec5-1b6-4059a80bfd280\""
92
- last-modified:
89
+ headers:
90
+ Etag:
91
+ - ! '"24ec5-1b6-4059a80bfd280"'
92
+ Last-Modified:
93
93
  - Tue, 15 Nov 2005 13:24:10 GMT
94
- connection:
94
+ Connection:
95
95
  - Keep-Alive
96
- content-type:
96
+ Content-Type:
97
97
  - text/html; charset=UTF-8
98
- date:
98
+ Date:
99
99
  - Thu, 25 Feb 2010 07:53:51 GMT
100
- server:
100
+ Server:
101
101
  - Apache/2.2.3 (CentOS)
102
- content-length:
103
- - "438"
104
- age:
105
- - "9260"
106
- accept-ranges:
102
+ Content-Length:
103
+ - '438'
104
+ Age:
105
+ - '9260'
106
+ Accept-Ranges:
107
107
  - bytes
108
108
  body: example.com response
109
- http_version: "1.1"
109
+ http_version: '1.1'
110
+ recorded_at: Tue, 01 Nov 2011 04:49:54 GMT
111
+ recorded_with: VCR 1.11.3
@@ -1,108 +1,110 @@
1
- ---
2
- - !ruby/struct:VCR::HTTPInteraction
3
- request: !ruby/struct:VCR::Request
4
- method: :get
5
- uri: http://example.com:80/foo
6
- body:
7
- headers:
8
- response: !ruby/struct:VCR::Response
9
- status: !ruby/struct:VCR::ResponseStatus
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://example.com/foo
6
+ body: ''
7
+ headers: {}
8
+ response:
9
+ status:
10
10
  code: 200
11
11
  message: OK
12
- headers:
13
- last-modified:
12
+ headers:
13
+ Last-Modified:
14
14
  - Tue, 15 Nov 2005 13:24:10 GMT
15
- connection:
15
+ Connection:
16
16
  - Keep-Alive
17
- etag:
18
- - "\"24ec5-1b6-4059a80bfd280\""
19
- content-type:
17
+ Etag:
18
+ - ! '"24ec5-1b6-4059a80bfd280"'
19
+ Content-Type:
20
20
  - text/html; charset=UTF-8
21
- date:
21
+ Date:
22
22
  - Wed, 31 Mar 2010 02:43:23 GMT
23
- server:
23
+ Server:
24
24
  - Apache/2.2.3 (CentOS)
25
- content-length:
26
- - "438"
27
- age:
28
- - "3285"
29
- accept-ranges:
25
+ Content-Length:
26
+ - '438'
27
+ Age:
28
+ - '3285'
29
+ Accept-Ranges:
30
30
  - bytes
31
31
  body: example.com get response 1 with path=foo
32
- http_version: "1.1"
33
- - !ruby/struct:VCR::HTTPInteraction
34
- request: !ruby/struct:VCR::Request
35
- method: :get
36
- uri: http://example.com:80/foo
37
- body:
38
- headers:
39
- response: !ruby/struct:VCR::Response
40
- status: !ruby/struct:VCR::ResponseStatus
32
+ http_version: '1.1'
33
+ recorded_at: Tue, 01 Nov 2011 04:49:54 GMT
34
+ - request:
35
+ method: get
36
+ uri: http://example.com/foo
37
+ body: ''
38
+ headers: {}
39
+ response:
40
+ status:
41
41
  code: 200
42
42
  message: OK
43
- headers:
44
- last-modified:
43
+ headers:
44
+ Last-Modified:
45
45
  - Tue, 15 Nov 2005 13:24:10 GMT
46
- connection:
46
+ Connection:
47
47
  - Keep-Alive
48
- etag:
49
- - "\"24ec5-1b6-4059a80bfd280\""
50
- content-type:
48
+ Etag:
49
+ - ! '"24ec5-1b6-4059a80bfd280"'
50
+ Content-Type:
51
51
  - text/html; charset=UTF-8
52
- date:
52
+ Date:
53
53
  - Wed, 31 Mar 2010 02:43:23 GMT
54
- server:
54
+ Server:
55
55
  - Apache/2.2.3 (CentOS)
56
- content-length:
57
- - "438"
58
- age:
59
- - "3285"
60
- accept-ranges:
56
+ Content-Length:
57
+ - '438'
58
+ Age:
59
+ - '3285'
60
+ Accept-Ranges:
61
61
  - bytes
62
62
  body: example.com get response 2 with path=foo
63
- http_version: "1.1"
64
- - !ruby/struct:VCR::HTTPInteraction
65
- request: !ruby/struct:VCR::Request
66
- method: :post
67
- uri: http://example.com:80/
68
- body:
69
- headers:
70
- response: !ruby/struct:VCR::Response
71
- status: !ruby/struct:VCR::ResponseStatus
63
+ http_version: '1.1'
64
+ recorded_at: Tue, 01 Nov 2011 04:49:54 GMT
65
+ - request:
66
+ method: post
67
+ uri: http://example.com/
68
+ body: ''
69
+ headers: {}
70
+ response:
71
+ status:
72
72
  code: 200
73
73
  message: OK
74
- headers:
75
- last-modified:
74
+ headers:
75
+ Last-Modified:
76
76
  - Tue, 15 Nov 2005 13:24:10 GMT
77
- connection:
77
+ Connection:
78
78
  - close
79
- etag:
80
- - "\"24ec5-1b6-4059a80bfd280\""
81
- content-type:
79
+ Etag:
80
+ - ! '"24ec5-1b6-4059a80bfd280"'
81
+ Content-Type:
82
82
  - text/html; charset=UTF-8
83
- date:
83
+ Date:
84
84
  - Wed, 31 Mar 2010 02:43:26 GMT
85
- server:
85
+ Server:
86
86
  - Apache/2.2.3 (CentOS)
87
- content-length:
88
- - "438"
89
- accept-ranges:
87
+ Content-Length:
88
+ - '438'
89
+ Accept-Ranges:
90
90
  - bytes
91
91
  body: example.com post response with id=3
92
- http_version: "1.1"
93
- - !ruby/struct:VCR::HTTPInteraction
94
- request: !ruby/struct:VCR::Request
95
- method: :get
96
- uri: http://example.com:80/two_set_cookie_headers
97
- body:
98
- headers:
99
- response: !ruby/struct:VCR::Response
100
- status: !ruby/struct:VCR::ResponseStatus
92
+ http_version: '1.1'
93
+ recorded_at: Tue, 01 Nov 2011 04:49:54 GMT
94
+ - request:
95
+ method: get
96
+ uri: http://example.com/two_set_cookie_headers
97
+ body: ''
98
+ headers: {}
99
+ response:
100
+ status:
101
101
  code: 200
102
102
  message: OK
103
- headers:
104
- set-cookie:
103
+ headers:
104
+ Set-Cookie:
105
105
  - bar=bazz
106
106
  - foo=bar
107
107
  body: this respons has two set-cookie headers
108
- http_version: "1.1"
108
+ http_version: '1.1'
109
+ recorded_at: Tue, 01 Nov 2011 04:49:54 GMT
110
+ recorded_with: VCR 1.11.3
@@ -1,185 +1,187 @@
1
- ---
2
- - !ruby/struct:VCR::HTTPInteraction
3
- request: !ruby/struct:VCR::Request
4
- method: :post
5
- uri: http://example.com:80/method
6
- body:
7
- headers:
8
- response: !ruby/struct:VCR::Response
9
- status: !ruby/struct:VCR::ResponseStatus
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://example.com/method
6
+ body: ''
7
+ headers: {}
8
+ response:
9
+ status:
10
10
  code: 200
11
11
  message: OK
12
- headers:
13
- etag:
14
- - "\"24ec5-1b6-4059a80bfd280\""
12
+ headers:
13
+ Etag:
14
+ - ! '"24ec5-1b6-4059a80bfd280"'
15
15
  body: post method response
16
- http_version: "1.1"
17
- - !ruby/struct:VCR::HTTPInteraction
18
- request: !ruby/struct:VCR::Request
19
- method: :get
20
- uri: http://example.com:80/method
21
- body:
22
- headers:
23
- response: !ruby/struct:VCR::Response
24
- status: !ruby/struct:VCR::ResponseStatus
16
+ http_version: '1.1'
17
+ recorded_at: Tue, 01 Nov 2011 04:49:54 GMT
18
+ - request:
19
+ method: get
20
+ uri: http://example.com/method
21
+ body: ''
22
+ headers: {}
23
+ response:
24
+ status:
25
25
  code: 200
26
26
  message: OK
27
- headers:
28
- etag:
29
- - "\"24ec5-1b6-4059a80bfd280\""
27
+ headers:
28
+ Etag:
29
+ - ! '"24ec5-1b6-4059a80bfd280"'
30
30
  body: get method response
31
- http_version: "1.1"
32
- - !ruby/struct:VCR::HTTPInteraction
33
- request: !ruby/struct:VCR::Request
34
- method: :post
35
- uri: http://example1.com:80/host
36
- body:
37
- headers:
38
- response: !ruby/struct:VCR::Response
39
- status: !ruby/struct:VCR::ResponseStatus
31
+ http_version: '1.1'
32
+ recorded_at: Tue, 01 Nov 2011 04:49:54 GMT
33
+ - request:
34
+ method: post
35
+ uri: http://example1.com/host
36
+ body: ''
37
+ headers: {}
38
+ response:
39
+ status:
40
40
  code: 200
41
41
  message: OK
42
- headers:
43
- etag:
44
- - "\"24ec5-1b6-4059a80bfd280\""
42
+ headers:
43
+ Etag:
44
+ - ! '"24ec5-1b6-4059a80bfd280"'
45
45
  body: example1.com host response
46
- http_version: "1.1"
47
- - !ruby/struct:VCR::HTTPInteraction
48
- request: !ruby/struct:VCR::Request
49
- method: :post
50
- uri: http://example2.com:80/host
51
- body:
52
- headers:
53
- response: !ruby/struct:VCR::Response
54
- status: !ruby/struct:VCR::ResponseStatus
46
+ http_version: '1.1'
47
+ recorded_at: Tue, 01 Nov 2011 04:49:54 GMT
48
+ - request:
49
+ method: post
50
+ uri: http://example2.com/host
51
+ body: ''
52
+ headers: {}
53
+ response:
54
+ status:
55
55
  code: 200
56
56
  message: OK
57
- headers:
58
- etag:
59
- - "\"24ec5-1b6-4059a80bfd280\""
57
+ headers:
58
+ Etag:
59
+ - ! '"24ec5-1b6-4059a80bfd280"'
60
60
  body: example2.com host response
61
- http_version: "1.1"
62
- - !ruby/struct:VCR::HTTPInteraction
63
- request: !ruby/struct:VCR::Request
64
- method: :post
65
- uri: http://example.com:80/path1
66
- body:
67
- headers:
68
- response: !ruby/struct:VCR::Response
69
- status: !ruby/struct:VCR::ResponseStatus
61
+ http_version: '1.1'
62
+ recorded_at: Tue, 01 Nov 2011 04:49:54 GMT
63
+ - request:
64
+ method: post
65
+ uri: http://example.com/path1
66
+ body: ''
67
+ headers: {}
68
+ response:
69
+ status:
70
70
  code: 200
71
71
  message: OK
72
- headers:
73
- etag:
74
- - "\"24ec5-1b6-4059a80bfd280\""
72
+ headers:
73
+ Etag:
74
+ - ! '"24ec5-1b6-4059a80bfd280"'
75
75
  body: path1 response
76
- http_version: "1.1"
77
- - !ruby/struct:VCR::HTTPInteraction
78
- request: !ruby/struct:VCR::Request
79
- method: :post
80
- uri: http://example.com:80/path2
81
- body:
82
- headers:
83
- response: !ruby/struct:VCR::Response
84
- status: !ruby/struct:VCR::ResponseStatus
76
+ http_version: '1.1'
77
+ recorded_at: Tue, 01 Nov 2011 04:49:54 GMT
78
+ - request:
79
+ method: post
80
+ uri: http://example.com/path2
81
+ body: ''
82
+ headers: {}
83
+ response:
84
+ status:
85
85
  code: 200
86
86
  message: OK
87
- headers:
88
- etag:
89
- - "\"24ec5-1b6-4059a80bfd280\""
87
+ headers:
88
+ Etag:
89
+ - ! '"24ec5-1b6-4059a80bfd280"'
90
90
  body: path2 response
91
- http_version: "1.1"
92
- - !ruby/struct:VCR::HTTPInteraction
93
- request: !ruby/struct:VCR::Request
94
- method: :post
95
- uri: http://example.com:80/uri1
96
- body:
97
- headers:
98
- response: !ruby/struct:VCR::Response
99
- status: !ruby/struct:VCR::ResponseStatus
91
+ http_version: '1.1'
92
+ recorded_at: Tue, 01 Nov 2011 04:49:54 GMT
93
+ - request:
94
+ method: post
95
+ uri: http://example.com/uri1
96
+ body: ''
97
+ headers: {}
98
+ response:
99
+ status:
100
100
  code: 200
101
101
  message: OK
102
- headers:
103
- etag:
104
- - "\"24ec5-1b6-4059a80bfd280\""
102
+ headers:
103
+ Etag:
104
+ - ! '"24ec5-1b6-4059a80bfd280"'
105
105
  body: uri1 response
106
- http_version: "1.1"
107
- - !ruby/struct:VCR::HTTPInteraction
108
- request: !ruby/struct:VCR::Request
109
- method: :post
110
- uri: http://example.com:80/uri2
111
- body:
112
- headers:
113
- response: !ruby/struct:VCR::Response
114
- status: !ruby/struct:VCR::ResponseStatus
106
+ http_version: '1.1'
107
+ recorded_at: Tue, 01 Nov 2011 04:49:54 GMT
108
+ - request:
109
+ method: post
110
+ uri: http://example.com/uri2
111
+ body: ''
112
+ headers: {}
113
+ response:
114
+ status:
115
115
  code: 200
116
116
  message: OK
117
- headers:
118
- etag:
119
- - "\"24ec5-1b6-4059a80bfd280\""
117
+ headers:
118
+ Etag:
119
+ - ! '"24ec5-1b6-4059a80bfd280"'
120
120
  body: uri2 response
121
- http_version: "1.1"
122
- - !ruby/struct:VCR::HTTPInteraction
123
- request: !ruby/struct:VCR::Request
124
- method: :post
125
- uri: http://example.com:80/
121
+ http_version: '1.1'
122
+ recorded_at: Tue, 01 Nov 2011 04:49:54 GMT
123
+ - request:
124
+ method: post
125
+ uri: http://example.com/
126
126
  body: param=val1
127
- headers:
128
- response: !ruby/struct:VCR::Response
129
- status: !ruby/struct:VCR::ResponseStatus
127
+ headers: {}
128
+ response:
129
+ status:
130
130
  code: 200
131
131
  message: OK
132
- headers:
133
- etag:
134
- - "\"24ec5-1b6-4059a80bfd280\""
132
+ headers:
133
+ Etag:
134
+ - ! '"24ec5-1b6-4059a80bfd280"'
135
135
  body: val1 body response
136
- http_version: "1.1"
137
- - !ruby/struct:VCR::HTTPInteraction
138
- request: !ruby/struct:VCR::Request
139
- method: :post
140
- uri: http://example.com:80/
136
+ http_version: '1.1'
137
+ recorded_at: Tue, 01 Nov 2011 04:49:54 GMT
138
+ - request:
139
+ method: post
140
+ uri: http://example.com/
141
141
  body: param=val2
142
- headers:
143
- response: !ruby/struct:VCR::Response
144
- status: !ruby/struct:VCR::ResponseStatus
142
+ headers: {}
143
+ response:
144
+ status:
145
145
  code: 200
146
146
  message: OK
147
- headers:
148
- etag:
149
- - "\"24ec5-1b6-4059a80bfd280\""
147
+ headers:
148
+ Etag:
149
+ - ! '"24ec5-1b6-4059a80bfd280"'
150
150
  body: val2 body response
151
- http_version: "1.1"
152
- - !ruby/struct:VCR::HTTPInteraction
153
- request: !ruby/struct:VCR::Request
154
- method: :post
155
- uri: http://example.com:80/
156
- body:
157
- headers:
158
- x-http-header1:
151
+ http_version: '1.1'
152
+ recorded_at: Tue, 01 Nov 2011 04:49:54 GMT
153
+ - request:
154
+ method: post
155
+ uri: http://example.com/
156
+ body: ''
157
+ headers:
158
+ X-Http-Header1:
159
159
  - val1
160
- response: !ruby/struct:VCR::Response
161
- status: !ruby/struct:VCR::ResponseStatus
160
+ response:
161
+ status:
162
162
  code: 200
163
163
  message: OK
164
- headers:
165
- etag:
166
- - "\"24ec5-1b6-4059a80bfd280\""
164
+ headers:
165
+ Etag:
166
+ - ! '"24ec5-1b6-4059a80bfd280"'
167
167
  body: val1 header response
168
- http_version: "1.1"
169
- - !ruby/struct:VCR::HTTPInteraction
170
- request: !ruby/struct:VCR::Request
171
- method: :post
172
- uri: http://example.com:80/
173
- body:
174
- headers:
175
- x-http-header1:
168
+ http_version: '1.1'
169
+ recorded_at: Tue, 01 Nov 2011 04:49:54 GMT
170
+ - request:
171
+ method: post
172
+ uri: http://example.com/
173
+ body: ''
174
+ headers:
175
+ X-Http-Header1:
176
176
  - val2
177
- response: !ruby/struct:VCR::Response
178
- status: !ruby/struct:VCR::ResponseStatus
177
+ response:
178
+ status:
179
179
  code: 200
180
180
  message: OK
181
- headers:
182
- etag:
183
- - "\"24ec5-1b6-4059a80bfd280\""
181
+ headers:
182
+ Etag:
183
+ - ! '"24ec5-1b6-4059a80bfd280"'
184
184
  body: val2 header response
185
- http_version: "1.1"
185
+ http_version: '1.1'
186
+ recorded_at: Tue, 01 Nov 2011 04:49:54 GMT
187
+ recorded_with: VCR 1.11.3