uploadcare-api_struct 1.1.0

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 (42) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +25 -0
  3. data/.gitignore +18 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +15 -0
  6. data/CHANGELOG.md +15 -0
  7. data/Gemfile +6 -0
  8. data/Gemfile.lock +123 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +211 -0
  11. data/Rakefile +6 -0
  12. data/api_struct.gemspec +36 -0
  13. data/api_struct.svg +1 -0
  14. data/bin/console +14 -0
  15. data/bin/setup +8 -0
  16. data/lib/api_struct/client.rb +88 -0
  17. data/lib/api_struct/collection.rb +19 -0
  18. data/lib/api_struct/concerns/underscore.rb +7 -0
  19. data/lib/api_struct/entity.rb +93 -0
  20. data/lib/api_struct/errors/client.rb +43 -0
  21. data/lib/api_struct/errors/entity.rb +7 -0
  22. data/lib/api_struct/extensions/api_client.rb +43 -0
  23. data/lib/api_struct/extensions/dry_monads.rb +22 -0
  24. data/lib/api_struct/settings.rb +7 -0
  25. data/lib/api_struct/version.rb +3 -0
  26. data/lib/api_struct.rb +20 -0
  27. data/spec/api_struct/client_spec.rb +156 -0
  28. data/spec/api_struct/entity_spec.rb +188 -0
  29. data/spec/fixtures/cassettes/posts/1.yml +73 -0
  30. data/spec/fixtures/cassettes/posts/index_success.yml +1335 -0
  31. data/spec/fixtures/cassettes/posts/show_failure.yml +67 -0
  32. data/spec/fixtures/cassettes/posts/show_failure_html.yml +67 -0
  33. data/spec/fixtures/cassettes/posts/show_success.yml +74 -0
  34. data/spec/fixtures/cassettes/posts/suffix.yml +73 -0
  35. data/spec/fixtures/cassettes/posts/update_success.yml +71 -0
  36. data/spec/fixtures/cassettes/todos.yml +143 -0
  37. data/spec/fixtures/cassettes/user_todos.yml +189 -0
  38. data/spec/fixtures/cassettes/users/1/posts/1.yml +797 -0
  39. data/spec/fixtures/cassettes/users/1/posts.yml +1049 -0
  40. data/spec/spec_helper.rb +26 -0
  41. data/spec/support/stub.rb +9 -0
  42. metadata +283 -0
@@ -0,0 +1,67 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://jsonplaceholder.typicode.com/posts/101
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Connection:
15
+ - close
16
+ Host:
17
+ - jsonplaceholder.typicode.com
18
+ User-Agent:
19
+ - http.rb/3.0.0
20
+ response:
21
+ status:
22
+ code: 404
23
+ message: Not Found
24
+ headers:
25
+ Date:
26
+ - Thu, 18 Jan 2018 19:23:37 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Content-Length:
30
+ - '2'
31
+ Connection:
32
+ - close
33
+ Set-Cookie:
34
+ - __cfduid=dea576b2c58beb4acebfa8cc1b8f3cd731516303417; expires=Fri, 18-Jan-19
35
+ 19:23:37 GMT; path=/; domain=.typicode.com; HttpOnly
36
+ X-Powered-By:
37
+ - Express
38
+ Vary:
39
+ - Origin, Accept-Encoding
40
+ Access-Control-Allow-Credentials:
41
+ - 'true'
42
+ Cache-Control:
43
+ - public, max-age=14400
44
+ Pragma:
45
+ - no-cache
46
+ Expires:
47
+ - Thu, 18 Jan 2018 23:23:37 GMT
48
+ X-Content-Type-Options:
49
+ - nosniff
50
+ Etag:
51
+ - W/"2-vyGp6PvFo4RvsFtPoIWeCReyIC8"
52
+ Via:
53
+ - 1.1 vegur
54
+ Cf-Cache-Status:
55
+ - EXPIRED
56
+ Expect-Ct:
57
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
58
+ Server:
59
+ - cloudflare
60
+ Cf-Ray:
61
+ - 3df3ee046ef84f20-DME
62
+ body:
63
+ encoding: UTF-8
64
+ string: "{}"
65
+ http_version:
66
+ recorded_at: Thu, 18 Jan 2018 19:23:37 GMT
67
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,67 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://jsonplaceholder.typicode.com/posts/101
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Connection:
15
+ - close
16
+ Host:
17
+ - jsonplaceholder.typicode.com
18
+ User-Agent:
19
+ - http.rb/3.0.0
20
+ response:
21
+ status:
22
+ code: 404
23
+ message: Not Found
24
+ headers:
25
+ Date:
26
+ - Thu, 18 Jan 2018 19:23:37 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Content-Length:
30
+ - '27'
31
+ Connection:
32
+ - close
33
+ Set-Cookie:
34
+ - __cfduid=dea576b2c58beb4acebfa8cc1b8f3cd731516303417; expires=Fri, 18-Jan-19
35
+ 19:23:37 GMT; path=/; domain=.typicode.com; HttpOnly
36
+ X-Powered-By:
37
+ - Express
38
+ Vary:
39
+ - Origin, Accept-Encoding
40
+ Access-Control-Allow-Credentials:
41
+ - 'true'
42
+ Cache-Control:
43
+ - public, max-age=14400
44
+ Pragma:
45
+ - no-cache
46
+ Expires:
47
+ - Thu, 18 Jan 2018 23:23:37 GMT
48
+ X-Content-Type-Options:
49
+ - nosniff
50
+ Etag:
51
+ - W/"2-vyGp6PvFo4RvsFtPoIWeCReyIC8"
52
+ Via:
53
+ - 1.1 vegur
54
+ Cf-Cache-Status:
55
+ - EXPIRED
56
+ Expect-Ct:
57
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
58
+ Server:
59
+ - cloudflare
60
+ Cf-Ray:
61
+ - 3df3ee046ef84f20-DME
62
+ body:
63
+ encoding: UTF-8
64
+ string: "<body>404. Not Found</body>"
65
+ http_version:
66
+ recorded_at: Thu, 18 Jan 2018 19:23:37 GMT
67
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,74 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://jsonplaceholder.typicode.com/posts/1
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Connection:
15
+ - close
16
+ Host:
17
+ - jsonplaceholder.typicode.com
18
+ User-Agent:
19
+ - http.rb/3.0.0
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Date:
26
+ - Thu, 18 Jan 2018 19:23:37 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Content-Length:
30
+ - '292'
31
+ Connection:
32
+ - close
33
+ Set-Cookie:
34
+ - __cfduid=de31a379444c63694c043184befb627fa1516303417; expires=Fri, 18-Jan-19
35
+ 19:23:37 GMT; path=/; domain=.typicode.com; HttpOnly
36
+ X-Powered-By:
37
+ - Express
38
+ Vary:
39
+ - Origin, Accept-Encoding
40
+ Access-Control-Allow-Credentials:
41
+ - 'true'
42
+ Cache-Control:
43
+ - public, max-age=14400
44
+ Pragma:
45
+ - no-cache
46
+ Expires:
47
+ - Thu, 18 Jan 2018 23:23:37 GMT
48
+ X-Content-Type-Options:
49
+ - nosniff
50
+ Etag:
51
+ - W/"124-yiKdLzqO5gfBrJFrcdJ8Yq0LGnU"
52
+ Via:
53
+ - 1.1 vegur
54
+ Cf-Cache-Status:
55
+ - HIT
56
+ Expect-Ct:
57
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
58
+ Server:
59
+ - cloudflare
60
+ Cf-Ray:
61
+ - 3df3ee07d8af8f69-DME
62
+ body:
63
+ encoding: UTF-8
64
+ string: |-
65
+ {
66
+ "userId": 1,
67
+ "id": 1,
68
+ "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
69
+ "camelCase": "camel case property",
70
+ "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
71
+ }
72
+ http_version:
73
+ recorded_at: Thu, 18 Jan 2018 19:23:37 GMT
74
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,73 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://jsonplaceholder.typicode.com/posts/1
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Connection:
15
+ - close
16
+ Host:
17
+ - jsonplaceholder.typicode.com
18
+ User-Agent:
19
+ - http.rb/3.0.0
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Date:
26
+ - Tue, 06 Mar 2018 08:03:44 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Content-Length:
30
+ - '292'
31
+ Connection:
32
+ - close
33
+ Set-Cookie:
34
+ - __cfduid=d9571f40965744abf2545013c91f684451520323424; expires=Wed, 06-Mar-19
35
+ 08:03:44 GMT; path=/; domain=.typicode.com; HttpOnly
36
+ X-Powered-By:
37
+ - Express
38
+ Vary:
39
+ - Origin, Accept-Encoding
40
+ Access-Control-Allow-Credentials:
41
+ - 'true'
42
+ Cache-Control:
43
+ - public, max-age=14400
44
+ Pragma:
45
+ - no-cache
46
+ Expires:
47
+ - Tue, 06 Mar 2018 12:03:44 GMT
48
+ X-Content-Type-Options:
49
+ - nosniff
50
+ Etag:
51
+ - W/"124-yiKdLzqO5gfBrJFrcdJ8Yq0LGnU"
52
+ Via:
53
+ - 1.1 vegur
54
+ Cf-Cache-Status:
55
+ - HIT
56
+ Expect-Ct:
57
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
58
+ Server:
59
+ - cloudflare
60
+ Cf-Ray:
61
+ - 3f734ebe2ec08d7d-DME
62
+ body:
63
+ encoding: UTF-8
64
+ string: |-
65
+ {
66
+ "userId": 1,
67
+ "id": 1,
68
+ "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
69
+ "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
70
+ }
71
+ http_version:
72
+ recorded_at: Tue, 06 Mar 2018 08:10:41 GMT
73
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,71 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: patch
5
+ uri: https://jsonplaceholder.typicode.com/posts/1
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"title":"Mistie Carter"}'
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Connection:
15
+ - close
16
+ Host:
17
+ - jsonplaceholder.typicode.com
18
+ User-Agent:
19
+ - http.rb/3.0.0
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Date:
26
+ - Thu, 18 Jan 2018 19:23:36 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Content-Length:
30
+ - '231'
31
+ Connection:
32
+ - close
33
+ Set-Cookie:
34
+ - __cfduid=d3beb9d4061acf63428653caa383356a31516303416; expires=Fri, 18-Jan-19
35
+ 19:23:36 GMT; path=/; domain=.typicode.com; HttpOnly
36
+ X-Powered-By:
37
+ - Express
38
+ Vary:
39
+ - Origin, Accept-Encoding
40
+ Access-Control-Allow-Credentials:
41
+ - 'true'
42
+ Cache-Control:
43
+ - no-cache
44
+ Pragma:
45
+ - no-cache
46
+ Expires:
47
+ - "-1"
48
+ X-Content-Type-Options:
49
+ - nosniff
50
+ Etag:
51
+ - W/"e7-0BduPO3JPrmszuXLELJqrW9+Syw"
52
+ Via:
53
+ - 1.1 vegur
54
+ Expect-Ct:
55
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
56
+ Server:
57
+ - cloudflare
58
+ Cf-Ray:
59
+ - 3df3ee0148514ede-DME
60
+ body:
61
+ encoding: UTF-8
62
+ string: |-
63
+ {
64
+ "userId": 1,
65
+ "id": 1,
66
+ "title": "Mistie Carter",
67
+ "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
68
+ }
69
+ http_version:
70
+ recorded_at: Thu, 18 Jan 2018 19:23:36 GMT
71
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,143 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://jsonplaceholder.typicode.com/todos/1
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Connection:
15
+ - close
16
+ Host:
17
+ - jsonplaceholder.typicode.com
18
+ User-Agent:
19
+ - http.rb/3.0.0
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Date:
26
+ - Tue, 06 Mar 2018 08:08:27 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Content-Length:
30
+ - '83'
31
+ Connection:
32
+ - close
33
+ Set-Cookie:
34
+ - __cfduid=da01438c9302320c8eae5c1e1150c7c3a1520323707; expires=Wed, 06-Mar-19
35
+ 08:08:27 GMT; path=/; domain=.typicode.com; HttpOnly
36
+ X-Powered-By:
37
+ - Express
38
+ Vary:
39
+ - Origin, Accept-Encoding
40
+ Access-Control-Allow-Credentials:
41
+ - 'true'
42
+ Cache-Control:
43
+ - public, max-age=14400
44
+ Pragma:
45
+ - no-cache
46
+ Expires:
47
+ - Tue, 06 Mar 2018 12:08:27 GMT
48
+ X-Content-Type-Options:
49
+ - nosniff
50
+ Etag:
51
+ - W/"53-hfEnumeNh6YirfjyjaujcOPPT+s"
52
+ Via:
53
+ - 1.1 vegur
54
+ Cf-Cache-Status:
55
+ - REVALIDATED
56
+ Expect-Ct:
57
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
58
+ Server:
59
+ - cloudflare
60
+ Cf-Ray:
61
+ - 3f7355a1e9b48d8f-DME
62
+ body:
63
+ encoding: UTF-8
64
+ string: |-
65
+ {
66
+ "userId": 1,
67
+ "id": 1,
68
+ "title": "delectus aut autem",
69
+ "completed": false
70
+ }
71
+ http_version:
72
+ recorded_at: Tue, 06 Mar 2018 08:15:24 GMT
73
+ - request:
74
+ method: get
75
+ uri: https://jsonplaceholder.typicode.com/todos/1/
76
+ body:
77
+ encoding: UTF-8
78
+ string: ''
79
+ headers:
80
+ Accept:
81
+ - application/json
82
+ Content-Type:
83
+ - application/json
84
+ Connection:
85
+ - close
86
+ Host:
87
+ - jsonplaceholder.typicode.com
88
+ User-Agent:
89
+ - http.rb/3.0.0
90
+ response:
91
+ status:
92
+ code: 200
93
+ message: OK
94
+ headers:
95
+ Date:
96
+ - Tue, 06 Mar 2018 09:16:26 GMT
97
+ Content-Type:
98
+ - application/json; charset=utf-8
99
+ Content-Length:
100
+ - '83'
101
+ Connection:
102
+ - close
103
+ Set-Cookie:
104
+ - __cfduid=ddae63477dd3d1f72cfcf365177d4d5ff1520327786; expires=Wed, 06-Mar-19
105
+ 09:16:26 GMT; path=/; domain=.typicode.com; HttpOnly
106
+ X-Powered-By:
107
+ - Express
108
+ Vary:
109
+ - Origin, Accept-Encoding
110
+ Access-Control-Allow-Credentials:
111
+ - 'true'
112
+ Cache-Control:
113
+ - public, max-age=14400
114
+ Pragma:
115
+ - no-cache
116
+ Expires:
117
+ - Tue, 06 Mar 2018 13:16:26 GMT
118
+ X-Content-Type-Options:
119
+ - nosniff
120
+ Etag:
121
+ - W/"53-hfEnumeNh6YirfjyjaujcOPPT+s"
122
+ Via:
123
+ - 1.1 vegur
124
+ Cf-Cache-Status:
125
+ - MISS
126
+ Expect-Ct:
127
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
128
+ Server:
129
+ - cloudflare
130
+ Cf-Ray:
131
+ - 3f73b9376c084e2a-DME
132
+ body:
133
+ encoding: UTF-8
134
+ string: |-
135
+ {
136
+ "userId": 1,
137
+ "id": 1,
138
+ "title": "delectus aut autem",
139
+ "completed": false
140
+ }
141
+ http_version:
142
+ recorded_at: Tue, 06 Mar 2018 09:23:23 GMT
143
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,189 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://jsonplaceholder.typicode.com/todos?userId=2
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/json
12
+ Content-Type:
13
+ - application/json
14
+ Connection:
15
+ - close
16
+ Host:
17
+ - jsonplaceholder.typicode.com
18
+ User-Agent:
19
+ - http.rb/4.1.1
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Date:
26
+ - Wed, 17 Apr 2019 18:24:07 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - close
33
+ Set-Cookie:
34
+ - __cfduid=dc82c08fc0528b00d44fd9dc69a3d5bf91555525447; expires=Thu, 16-Apr-20
35
+ 18:24:07 GMT; path=/; domain=.typicode.com; HttpOnly
36
+ X-Powered-By:
37
+ - Express
38
+ Vary:
39
+ - Origin, Accept-Encoding
40
+ Access-Control-Allow-Credentials:
41
+ - 'true'
42
+ Cache-Control:
43
+ - public, max-age=14400
44
+ Pragma:
45
+ - no-cache
46
+ Expires:
47
+ - Wed, 17 Apr 2019 22:24:07 GMT
48
+ X-Content-Type-Options:
49
+ - nosniff
50
+ Etag:
51
+ - W/"940-PY6FbG4RbU9NVn6pD/xl3LdEHgs"
52
+ Via:
53
+ - 1.1 vegur
54
+ Cf-Cache-Status:
55
+ - HIT
56
+ Expect-Ct:
57
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
58
+ Server:
59
+ - cloudflare
60
+ Cf-Ray:
61
+ - 4c906f20ea39cc81-WAW
62
+ body:
63
+ encoding: UTF-8
64
+ string: |-
65
+ [
66
+ {
67
+ "userId": 2,
68
+ "id": 21,
69
+ "title": "suscipit repellat esse quibusdam voluptatem incidunt",
70
+ "completed": false
71
+ },
72
+ {
73
+ "userId": 2,
74
+ "id": 22,
75
+ "title": "distinctio vitae autem nihil ut molestias quo",
76
+ "completed": true
77
+ },
78
+ {
79
+ "userId": 2,
80
+ "id": 23,
81
+ "title": "et itaque necessitatibus maxime molestiae qui quas velit",
82
+ "completed": false
83
+ },
84
+ {
85
+ "userId": 2,
86
+ "id": 24,
87
+ "title": "adipisci non ad dicta qui amet quaerat doloribus ea",
88
+ "completed": false
89
+ },
90
+ {
91
+ "userId": 2,
92
+ "id": 25,
93
+ "title": "voluptas quo tenetur perspiciatis explicabo natus",
94
+ "completed": true
95
+ },
96
+ {
97
+ "userId": 2,
98
+ "id": 26,
99
+ "title": "aliquam aut quasi",
100
+ "completed": true
101
+ },
102
+ {
103
+ "userId": 2,
104
+ "id": 27,
105
+ "title": "veritatis pariatur delectus",
106
+ "completed": true
107
+ },
108
+ {
109
+ "userId": 2,
110
+ "id": 28,
111
+ "title": "nesciunt totam sit blanditiis sit",
112
+ "completed": false
113
+ },
114
+ {
115
+ "userId": 2,
116
+ "id": 29,
117
+ "title": "laborum aut in quam",
118
+ "completed": false
119
+ },
120
+ {
121
+ "userId": 2,
122
+ "id": 30,
123
+ "title": "nemo perspiciatis repellat ut dolor libero commodi blanditiis omnis",
124
+ "completed": true
125
+ },
126
+ {
127
+ "userId": 2,
128
+ "id": 31,
129
+ "title": "repudiandae totam in est sint facere fuga",
130
+ "completed": false
131
+ },
132
+ {
133
+ "userId": 2,
134
+ "id": 32,
135
+ "title": "earum doloribus ea doloremque quis",
136
+ "completed": false
137
+ },
138
+ {
139
+ "userId": 2,
140
+ "id": 33,
141
+ "title": "sint sit aut vero",
142
+ "completed": false
143
+ },
144
+ {
145
+ "userId": 2,
146
+ "id": 34,
147
+ "title": "porro aut necessitatibus eaque distinctio",
148
+ "completed": false
149
+ },
150
+ {
151
+ "userId": 2,
152
+ "id": 35,
153
+ "title": "repellendus veritatis molestias dicta incidunt",
154
+ "completed": true
155
+ },
156
+ {
157
+ "userId": 2,
158
+ "id": 36,
159
+ "title": "excepturi deleniti adipisci voluptatem et neque optio illum ad",
160
+ "completed": true
161
+ },
162
+ {
163
+ "userId": 2,
164
+ "id": 37,
165
+ "title": "sunt cum tempora",
166
+ "completed": false
167
+ },
168
+ {
169
+ "userId": 2,
170
+ "id": 38,
171
+ "title": "totam quia non",
172
+ "completed": false
173
+ },
174
+ {
175
+ "userId": 2,
176
+ "id": 39,
177
+ "title": "doloremque quibusdam asperiores libero corrupti illum qui omnis",
178
+ "completed": false
179
+ },
180
+ {
181
+ "userId": 2,
182
+ "id": 40,
183
+ "title": "totam atque quo nesciunt",
184
+ "completed": true
185
+ }
186
+ ]
187
+ http_version:
188
+ recorded_at: Wed, 17 Apr 2019 18:24:07 GMT
189
+ recorded_with: VCR 3.0.3