transloadit 1.2.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +5 -13
  2. data/.gitignore +3 -1
  3. data/.travis.yml +4 -4
  4. data/CHANGELOG.md +26 -0
  5. data/LICENSE +1 -1
  6. data/README.md +141 -16
  7. data/examples/README.md +185 -0
  8. data/examples/basic/audio-concat-transcoder.rb +40 -0
  9. data/examples/basic/audio-transcoder.rb +37 -0
  10. data/examples/basic/image-transcoder.rb +27 -0
  11. data/examples/basic/main.rb +69 -0
  12. data/examples/basic/media-transcoder.rb +13 -0
  13. data/lib/transloadit.rb +31 -0
  14. data/lib/transloadit/api_model.rb +73 -0
  15. data/lib/transloadit/assembly.rb +103 -63
  16. data/lib/transloadit/exception.rb +27 -0
  17. data/lib/transloadit/request.rb +23 -41
  18. data/lib/transloadit/response/assembly.rb +25 -0
  19. data/lib/transloadit/template.rb +63 -0
  20. data/lib/transloadit/version.rb +1 -1
  21. data/test/fixtures/cassettes/create_template.yml +48 -0
  22. data/test/fixtures/cassettes/delete_template.yml +44 -0
  23. data/test/fixtures/cassettes/fetch_assemblies.yml +44 -0
  24. data/test/fixtures/cassettes/fetch_assembly_notifications.yml +44 -0
  25. data/test/fixtures/cassettes/fetch_assembly_ok.yml +36 -0
  26. data/test/fixtures/cassettes/fetch_billing.yml +44 -0
  27. data/test/fixtures/cassettes/{fetch_bored.yml → fetch_root.yml} +6 -6
  28. data/test/fixtures/cassettes/fetch_template.yml +44 -0
  29. data/test/fixtures/cassettes/fetch_templates.yml +44 -0
  30. data/test/fixtures/cassettes/rate_limit_fail.yml +105 -0
  31. data/test/fixtures/cassettes/rate_limit_succeed.yml +79 -0
  32. data/test/fixtures/cassettes/replay_assembly.yml +49 -0
  33. data/test/fixtures/cassettes/replay_assembly_notification.yml +48 -0
  34. data/test/fixtures/cassettes/submit_assembly.yml +1 -36
  35. data/test/fixtures/cassettes/update_template.yml +48 -0
  36. data/test/test_helper.rb +4 -0
  37. data/test/unit/test_transloadit.rb +14 -1
  38. data/test/unit/transloadit/test_api.rb +50 -0
  39. data/test/unit/transloadit/test_assembly.rb +178 -47
  40. data/test/unit/transloadit/test_request.rb +28 -20
  41. data/test/unit/transloadit/test_response.rb +44 -0
  42. data/test/unit/transloadit/test_template.rb +118 -0
  43. data/transloadit.gemspec +3 -3
  44. metadata +70 -33
@@ -0,0 +1,44 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://api2.transloadit.com/bill/2016-09?params=%7B%22auth%22:%7B%22key%22:%22%22%7D%7D
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Transloadit Ruby SDK 1.2.0
16
+ Host:
17
+ - api2.transloadit.com
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Access-Control-Allow-Headers:
24
+ - X-Requested-With, Content-Type, Cache-Control, Accept, Content-Length
25
+ Access-Control-Allow-Methods:
26
+ - POST, GET, PUT, DELETE, OPTIONS
27
+ Access-Control-Allow-Origin:
28
+ - "*"
29
+ Cache-Control:
30
+ - no-cache
31
+ Content-Type:
32
+ - application/json; charset=utf-8
33
+ Date:
34
+ - Thu, 08 Sep 2016 11:06:58 GMT
35
+ Content-Length:
36
+ - '104'
37
+ Connection:
38
+ - keep-alive
39
+ body:
40
+ encoding: UTF-8
41
+ string: '{"ok":"BILL_FOUND", "invoice_id":"76fe5df1c93a0a530f3e583805cf98b4", "to":"", "email":"user@email.com", "month":"2016-09", "created":"2016-07-29T15:27:19.000Z", "plan":{"id":"4c3ffb9856704668bd484a19cee4b066", "title":"Sandbox", "slug":"sandbox", "price_per_month":0, "gb_included":2, "gb_limit":2, "max_jobs_simulteneous":1, "has_lifetime_limit":1, "price_per_gb":0, "published":1}}'
42
+ http_version:
43
+ recorded_at: Thu, 08 Sep 2016 11:06:58 GMT
44
+ recorded_with: VCR 3.0.3
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: http://api2.transloadit.com/instances/bored
5
+ uri: http://api2.transloadit.com
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -32,12 +32,12 @@ http_interactions:
32
32
  - keep-alive
33
33
  body:
34
34
  encoding: UTF-8
35
- string: ! '{"ok":"BORED_INSTANCE_FOUND","host":"jane.transloadit.com","api2_host":"jane.transloadit.com"}'
35
+ string: ! '{"ok":"SERVER_ROOT","hostname":"jane.transloadit.com"}'
36
36
  http_version: '1.1'
37
37
  recorded_at: Fri, 08 Mar 2013 15:13:10 GMT
38
38
  - request:
39
39
  method: get
40
- uri: http://api2.transloadit.com/instances/bored?params=%7B%22params%22:%7B%22foo%22:%22bar%22%7D%7D
40
+ uri: http://api2.transloadit.com/?params=%7B%22params%22:%7B%22foo%22:%22bar%22%7D%7D
41
41
  body:
42
42
  encoding: US-ASCII
43
43
  string: ''
@@ -67,12 +67,12 @@ http_interactions:
67
67
  - keep-alive
68
68
  body:
69
69
  encoding: UTF-8
70
- string: ! '{"ok":"BORED_INSTANCE_FOUND","host":"jane.transloadit.com","api2_host":"jane.transloadit.com"}'
70
+ string: ! '{"ok":"SERVER_ROOT","host":"jane.transloadit.com"}'
71
71
  http_version: '1.1'
72
72
  recorded_at: Fri, 08 Mar 2013 15:13:10 GMT
73
73
  - request:
74
74
  method: get
75
- uri: http://api2.transloadit.com/instances/bored?params=%7B%22params%22:%7B%22foo%22:%22bar%22%7D%7D&signature=78f291e3038e3eeb82d9f79e11a68fe7b858ee97
75
+ uri: http://api2.transloadit.com/?params=%7B%22params%22:%7B%22foo%22:%22bar%22%7D%7D&signature=78f291e3038e3eeb82d9f79e11a68fe7b858ee97
76
76
  body:
77
77
  encoding: US-ASCII
78
78
  string: ''
@@ -102,7 +102,7 @@ http_interactions:
102
102
  - keep-alive
103
103
  body:
104
104
  encoding: UTF-8
105
- string: ! '{"ok":"BORED_INSTANCE_FOUND","host":"jane.transloadit.com","api2_host":"jane.transloadit.com"}'
105
+ string: ! '{"ok":"SERVER_ROOT","hostname":"jane.transloadit.com"}'
106
106
  http_version: '1.1'
107
107
  recorded_at: Fri, 08 Mar 2013 15:13:10 GMT
108
108
  recorded_with: VCR 2.4.0
@@ -0,0 +1,44 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://api2.transloadit.com/templates/76fe5df1c93a0a530f3e583805cf98b4?params=%7B%22auth%22:%7B%22key%22:%22%22%7D%7D
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Transloadit Ruby SDK 1.2.0
16
+ Host:
17
+ - api2.transloadit.com
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Access-Control-Allow-Headers:
24
+ - X-Requested-With, Content-Type, Cache-Control, Accept, Content-Length
25
+ Access-Control-Allow-Methods:
26
+ - POST, GET, PUT, DELETE, OPTIONS
27
+ Access-Control-Allow-Origin:
28
+ - "*"
29
+ Cache-Control:
30
+ - no-cache
31
+ Content-Type:
32
+ - application/json; charset=utf-8
33
+ Date:
34
+ - Wed, 24 Aug 2016 09:58:40 GMT
35
+ Content-Length:
36
+ - '104'
37
+ Connection:
38
+ - keep-alive
39
+ body:
40
+ encoding: UTF-8
41
+ string: '{"ok": "TEMPLATE_FOUND", "template_id": "76fe5df1c93a0a530f3e583805cf98b4", "template_name": "name"}'
42
+ http_version:
43
+ recorded_at: Wed, 24 Aug 2016 09:58:38 GMT
44
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,44 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://api2.transloadit.com/templates?params=%7B%22auth%22:%7B%22key%22:%22%22%7D%7D
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Transloadit Ruby SDK 1.2.0
16
+ Host:
17
+ - api2.transloadit.com
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Access-Control-Allow-Headers:
24
+ - X-Requested-With, Content-Type, Cache-Control, Accept, Content-Length
25
+ Access-Control-Allow-Methods:
26
+ - POST, GET, PUT, DELETE, OPTIONS
27
+ Access-Control-Allow-Origin:
28
+ - "*"
29
+ Cache-Control:
30
+ - no-cache
31
+ Content-Type:
32
+ - application/json; charset=utf-8
33
+ Date:
34
+ - Wed, 24 Aug 2016 09:58:39 GMT
35
+ Content-Length:
36
+ - '22'
37
+ Connection:
38
+ - keep-alive
39
+ body:
40
+ encoding: UTF-8
41
+ string: '{"items":[],"count":0}'
42
+ http_version:
43
+ recorded_at: Wed, 24 Aug 2016 09:58:38 GMT
44
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,105 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://api2.transloadit.com/assemblies
6
+ body:
7
+ encoding: UTF-8
8
+ string: params=%7B%22steps%22%3A%7B%22a479db2c601661d8f914caf9cf258c0b%22%3A%7B%22robot%22%3A%22%2Fvideo%2Fthumbs%22%7D%7D%2C%22redirect_url%22%3A%22http%3A%2F%2Ffoo.bar%2F%22%2C%22auth%22%3A%7B%22key%22%3A%22%22%7D%2C%22file_0%22%3A%22%23%3CFile%3A0x00000100c63738%3E%22%7D
9
+ headers:
10
+ Accept:
11
+ - ! '*/*; q=0.5, application/xml'
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Transloadit Ruby SDK 0.0.1
16
+ Content-Length:
17
+ - '298'
18
+ Content-Type:
19
+ - application/x-www-form-urlencoded
20
+ response:
21
+ status:
22
+ code: 413
23
+ headers:
24
+ Content-Type:
25
+ - application/json; charset=utf-8
26
+ Access-Control-Allow-Origin:
27
+ - ! '*'
28
+ Access-Control-Allow-Methods:
29
+ - POST, GET, PUT, DELETE, OPTIONS
30
+ Access-Control-Allow-Headers:
31
+ - X-Requested-With, Content-Type, Accept, Content-Length
32
+ body:
33
+ encoding: UTF-8
34
+ string: ! '{"error":"RATE_LIMIT_REACHED","message":"Request limit reached", "info":{"retryIn":0}}'
35
+ http_version: '1.1'
36
+ recorded_at: Fri, 08 Mar 2013 15:13:10 GMT
37
+ - request:
38
+ method: post
39
+ uri: http://api2.transloadit.com/assemblies
40
+ body:
41
+ encoding: UTF-8
42
+ string: params=%7B%22steps%22%3A%7B%22a479db2c601661d8f914caf9cf258c0b%22%3A%7B%22robot%22%3A%22%2Fvideo%2Fthumbs%22%7D%7D%2C%22redirect_url%22%3A%22http%3A%2F%2Ffoo.bar%2F%22%2C%22auth%22%3A%7B%22key%22%3A%22%22%7D%2C%22file_0%22%3A%22%23%3CFile%3A0x00000100c63738%3E%22%7D
43
+ headers:
44
+ Accept:
45
+ - ! '*/*; q=0.5, application/xml'
46
+ Accept-Encoding:
47
+ - gzip, deflate
48
+ User-Agent:
49
+ - Transloadit Ruby SDK 0.0.1
50
+ Content-Length:
51
+ - '298'
52
+ Content-Type:
53
+ - application/x-www-form-urlencoded
54
+ response:
55
+ status:
56
+ code: 413
57
+ headers:
58
+ Content-Type:
59
+ - application/json; charset=utf-8
60
+ Access-Control-Allow-Origin:
61
+ - ! '*'
62
+ Access-Control-Allow-Methods:
63
+ - POST, GET, PUT, DELETE, OPTIONS
64
+ Access-Control-Allow-Headers:
65
+ - X-Requested-With, Content-Type, Accept, Content-Length
66
+ body:
67
+ encoding: UTF-8
68
+ string: ! '{"error":"RATE_LIMIT_REACHED","message":"Request limit reached", "info":{"retryIn":0}}'
69
+ http_version: '1.1'
70
+ recorded_at: Fri, 08 Mar 2013 15:13:10 GMT
71
+ - request:
72
+ method: post
73
+ uri: http://api2.transloadit.com/assemblies
74
+ body:
75
+ encoding: UTF-8
76
+ string: params=%7B%22steps%22%3A%7B%22a479db2c601661d8f914caf9cf258c0b%22%3A%7B%22robot%22%3A%22%2Fvideo%2Fthumbs%22%7D%7D%2C%22redirect_url%22%3A%22http%3A%2F%2Ffoo.bar%2F%22%2C%22auth%22%3A%7B%22key%22%3A%22%22%7D%2C%22file_0%22%3A%22%23%3CFile%3A0x00000100c63738%3E%22%7D
77
+ headers:
78
+ Accept:
79
+ - ! '*/*; q=0.5, application/xml'
80
+ Accept-Encoding:
81
+ - gzip, deflate
82
+ User-Agent:
83
+ - Transloadit Ruby SDK 0.0.1
84
+ Content-Length:
85
+ - '298'
86
+ Content-Type:
87
+ - application/x-www-form-urlencoded
88
+ response:
89
+ status:
90
+ code: 413
91
+ headers:
92
+ Content-Type:
93
+ - application/json; charset=utf-8
94
+ Access-Control-Allow-Origin:
95
+ - ! '*'
96
+ Access-Control-Allow-Methods:
97
+ - POST, GET, PUT, DELETE, OPTIONS
98
+ Access-Control-Allow-Headers:
99
+ - X-Requested-With, Content-Type, Accept, Content-Length
100
+ body:
101
+ encoding: UTF-8
102
+ string: ! '{"error":"RATE_LIMIT_REACHED","message":"Request limit reached", "info":{"retryIn":0}}'
103
+ http_version: '1.1'
104
+ recorded_at: Fri, 08 Mar 2013 15:13:10 GMT
105
+ recorded_with: VCR 2.4.0
@@ -0,0 +1,79 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://api2.transloadit.com/assemblies
6
+ body:
7
+ encoding: UTF-8
8
+ string: params=%7B%22steps%22%3A%7B%22a479db2c601661d8f914caf9cf258c0b%22%3A%7B%22robot%22%3A%22%2Fvideo%2Fthumbs%22%7D%7D%2C%22redirect_url%22%3A%22http%3A%2F%2Ffoo.bar%2F%22%2C%22auth%22%3A%7B%22key%22%3A%22%22%7D%2C%22file_0%22%3A%22%23%3CFile%3A0x00000100c63738%3E%22%7D
9
+ headers:
10
+ Accept:
11
+ - ! '*/*; q=0.5, application/xml'
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Transloadit Ruby SDK 0.0.1
16
+ Content-Length:
17
+ - '298'
18
+ Content-Type:
19
+ - application/x-www-form-urlencoded
20
+ response:
21
+ status:
22
+ code: 413
23
+ headers:
24
+ Content-Type:
25
+ - application/json; charset=utf-8
26
+ Access-Control-Allow-Origin:
27
+ - ! '*'
28
+ Access-Control-Allow-Methods:
29
+ - POST, GET, PUT, DELETE, OPTIONS
30
+ Access-Control-Allow-Headers:
31
+ - X-Requested-With, Content-Type, Accept, Content-Length
32
+ body:
33
+ encoding: UTF-8
34
+ string: ! '{"error":"RATE_LIMIT_REACHED","message":"Request limit reached", "info":{"retryIn":0}}'
35
+ http_version: '1.1'
36
+ recorded_at: Fri, 08 Mar 2013 15:13:10 GMT
37
+ - request:
38
+ method: post
39
+ uri: http://api2.transloadit.com/assemblies
40
+ body:
41
+ encoding: UTF-8
42
+ string: params=%7B%22steps%22%3A%7B%22a479db2c601661d8f914caf9cf258c0b%22%3A%7B%22robot%22%3A%22%2Fvideo%2Fthumbs%22%7D%7D%2C%22redirect_url%22%3A%22http%3A%2F%2Ffoo.bar%2F%22%2C%22auth%22%3A%7B%22key%22%3A%22%22%7D%2C%22file_0%22%3A%22%23%3CFile%3A0x00000100c63738%3E%22%7D
43
+ headers:
44
+ Accept:
45
+ - ! '*/*; q=0.5, application/xml'
46
+ Accept-Encoding:
47
+ - gzip, deflate
48
+ User-Agent:
49
+ - Transloadit Ruby SDK 0.0.1
50
+ Content-Length:
51
+ - '298'
52
+ Content-Type:
53
+ - application/x-www-form-urlencoded
54
+ response:
55
+ status:
56
+ code: 302
57
+ message: Moved Temporarily
58
+ headers:
59
+ Content-Type:
60
+ - text/plain
61
+ Access-Control-Allow-Origin:
62
+ - ! '*'
63
+ Access-Control-Allow-Methods:
64
+ - POST, GET, PUT, DELETE, OPTIONS
65
+ Access-Control-Allow-Headers:
66
+ - X-Requested-With, Content-Type, Accept, Content-Length
67
+ Location:
68
+ - http://foo.bar/?assembly_id=177c56e5435176f4877fbc1b397fa4f0&assembly_url=http://api2.vivian.transloadit.com/assemblies/177c56e5435176f4877fbc1b397fa4f0
69
+ Transfer-Encoding:
70
+ - chunked
71
+ body:
72
+ encoding: UTF-8
73
+ string: ! '{"ok":"ASSEMBLY_COMPLETED","message":"The assembly was successfully
74
+ completed.","assembly_id":"177c56e5435176f4877fbc1b397fa4f0","assembly_url":"http://api2.vivian.transloadit.com/assemblies/177c56e5435176f4877fbc1b397fa4f0","bytes_received":298,"bytes_expected":298,"client_agent":"Transloadit
75
+ Ruby SDK 0.0.1","client_ip":"69.180.12.41","client_referer":null,"start_date":"2011/02/07
76
+ 04:29:15 GMT","upload_duration":0.038,"execution_duration":0.002,"fields":{},"uploads":[],"results":{}}'
77
+ http_version: '1.1'
78
+ recorded_at: Fri, 08 Mar 2013 15:13:10 GMT
79
+ recorded_with: VCR 2.4.0
@@ -0,0 +1,49 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://api2.transloadit.com/assemblies/55c965a063a311e6ba2d379ef10b28f7/replay
6
+ body:
7
+ encoding: UTF-8
8
+ string: params=%%7B%22auth%22:%7B%22key%22:%22%22%7D%7D
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Transloadit Ruby SDK 1.2.0
16
+ Content-Length:
17
+ - '195'
18
+ Content-Type:
19
+ - application/x-www-form-urlencoded
20
+ Host:
21
+ - api2.transloadit.com
22
+ response:
23
+ status:
24
+ code: 200
25
+ message: OK
26
+ headers:
27
+ Access-Control-Allow-Headers:
28
+ - X-Requested-With, Content-Type, Cache-Control, Accept, Content-Length
29
+ Access-Control-Allow-Methods:
30
+ - POST, GET, PUT, DELETE, OPTIONS
31
+ Access-Control-Allow-Origin:
32
+ - "*"
33
+ Cache-Control:
34
+ - no-cache
35
+ Content-Type:
36
+ - application/json; charset=utf-8
37
+ Date:
38
+ - Tue, 16 Aug 2016 11:19:45 GMT
39
+ Content-Length:
40
+ - '271'
41
+ Connection:
42
+ - keep-alive
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"ok":"ASSEMBLY_REPLAYING","message":"The assembly is now in the process
46
+ of being replayed.","success":true,"assembly_id":"b8590300650211e6b826d727b2cfd9ce","assembly_url":"http://api2.sayuri.transloadit.com/assemblies/b8590300650211e6b826d727b2cfd9ce","notify_url":null}'
47
+ http_version:
48
+ recorded_at: Tue, 16 Aug 2016 11:19:45 GMT
49
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,48 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://api2.transloadit.com/assembly_notifications/2ea5d21063ad11e6bc93e53395ce4e7d/replay
6
+ body:
7
+ encoding: UTF-8
8
+ string: params=%%7B%22auth%22:%7B%22key%22:%22%22%7D%7D
9
+ headers:
10
+ Accept:
11
+ - "*/*"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Transloadit Ruby SDK 1.2.0
16
+ Content-Length:
17
+ - '195'
18
+ Content-Type:
19
+ - application/x-www-form-urlencoded
20
+ Host:
21
+ - api2.transloadit.com
22
+ response:
23
+ status:
24
+ code: 404
25
+ message: Not Found
26
+ headers:
27
+ Access-Control-Allow-Headers:
28
+ - X-Requested-With, Content-Type, Cache-Control, Accept, Content-Length
29
+ Access-Control-Allow-Methods:
30
+ - POST, GET, PUT, DELETE, OPTIONS
31
+ Access-Control-Allow-Origin:
32
+ - "*"
33
+ Cache-Control:
34
+ - no-cache
35
+ Content-Type:
36
+ - application/json; charset=utf-8
37
+ Date:
38
+ - Tue, 16 Aug 2016 11:56:54 GMT
39
+ Content-Length:
40
+ - '94'
41
+ Connection:
42
+ - keep-alive
43
+ body:
44
+ encoding: UTF-8
45
+ string: '{"ok":"ASSEMBLY_NOTIFICATION_REPLAYED", "assembly_id":"2ea5d21063ad11e6bc93e53395ce4e7d"}'
46
+ http_version:
47
+ recorded_at: Tue, 16 Aug 2016 11:56:54 GMT
48
+ recorded_with: VCR 3.0.3