vcr 2.0.0.beta1 → 2.0.0.beta2

Sign up to get free protection for your applications and to get access to all the features.
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