rsbe-client 0.5.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 (82) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +21 -0
  3. data/.rspec +3 -0
  4. data/GETTING-STARTED.md +17 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +73 -0
  8. data/Rakefile +11 -0
  9. data/TODO.md +38 -0
  10. data/lib/rsbe/client.rb +50 -0
  11. data/lib/rsbe/client/base.rb +140 -0
  12. data/lib/rsbe/client/collection.rb +84 -0
  13. data/lib/rsbe/client/connection.rb +24 -0
  14. data/lib/rsbe/client/method_not_implemented_error.rb +6 -0
  15. data/lib/rsbe/client/not_found_error.rb +6 -0
  16. data/lib/rsbe/client/partner.rb +82 -0
  17. data/lib/rsbe/client/provider.rb +47 -0
  18. data/lib/rsbe/client/se.rb +97 -0
  19. data/lib/rsbe/client/search.rb +80 -0
  20. data/lib/rsbe/client/search_results.rb +41 -0
  21. data/lib/rsbe/client/unrecognized_resource_error.rb +6 -0
  22. data/lib/rsbe/client/version.rb +5 -0
  23. data/lib/rsbe/client/wrong_origin_error.rb +6 -0
  24. data/rsbe-client.gemspec +30 -0
  25. data/spec/fixtures/partners/partners_all.json +1 -0
  26. data/spec/fixtures/partners/partners_none.json +1 -0
  27. data/spec/rsbe/client/base_spec.rb +10 -0
  28. data/spec/rsbe/client/collection_spec.rb +186 -0
  29. data/spec/rsbe/client/connection_spec.rb +20 -0
  30. data/spec/rsbe/client/partner_spec.rb +185 -0
  31. data/spec/rsbe/client/provider_spec.rb +122 -0
  32. data/spec/rsbe/client/se_spec.rb +273 -0
  33. data/spec/rsbe/client/search_results_spec.rb +140 -0
  34. data/spec/rsbe/client/search_spec.rb +74 -0
  35. data/spec/rsbe/client_spec.rb +52 -0
  36. data/spec/spec_helper.rb +43 -0
  37. data/spec/vcr_cassettes/client/find_collection.yml +53 -0
  38. data/spec/vcr_cassettes/client/find_partner.yml +52 -0
  39. data/spec/vcr_cassettes/client/find_provider.yml +52 -0
  40. data/spec/vcr_cassettes/client/find_se.yml +53 -0
  41. data/spec/vcr_cassettes/collection/find-existing.yml +53 -0
  42. data/spec/vcr_cassettes/collection/find-non_existent.yml +50 -0
  43. data/spec/vcr_cassettes/collection/lazy-eval-dne.yml +285 -0
  44. data/spec/vcr_cassettes/collection/lazy-eval-exists.yml +53 -0
  45. data/spec/vcr_cassettes/collection/save-create-known-id.yml +103 -0
  46. data/spec/vcr_cassettes/collection/save-create-unknown-id.yml +56 -0
  47. data/spec/vcr_cassettes/collection/save-invalid.yml +143 -0
  48. data/spec/vcr_cassettes/collection/save-update-valid.yml +99 -0
  49. data/spec/vcr_cassettes/partner/all.yml +300 -0
  50. data/spec/vcr_cassettes/partner/dne-with-id.yml +238 -0
  51. data/spec/vcr_cassettes/partner/find-existing.yml +52 -0
  52. data/spec/vcr_cassettes/partner/find-non_existent.yml +50 -0
  53. data/spec/vcr_cassettes/partner/lazy-eval-exists.yml +53 -0
  54. data/spec/vcr_cassettes/partner/save-create-known-id.yml +101 -0
  55. data/spec/vcr_cassettes/partner/save-create-unknown-id.yml +54 -0
  56. data/spec/vcr_cassettes/partner/save-invalid.yml +177 -0
  57. data/spec/vcr_cassettes/partner/save-unknown-id.yml +54 -0
  58. data/spec/vcr_cassettes/partner/save-update-valid.yml +98 -0
  59. data/spec/vcr_cassettes/partner/with-collections.yml +203 -0
  60. data/spec/vcr_cassettes/partner/without-collections.yml +101 -0
  61. data/spec/vcr_cassettes/provider/all.yml +248 -0
  62. data/spec/vcr_cassettes/provider/find-existing.yml +52 -0
  63. data/spec/vcr_cassettes/provider/find-non_existent.yml +50 -0
  64. data/spec/vcr_cassettes/provider/save-create-known-id.yml +101 -0
  65. data/spec/vcr_cassettes/provider/save-create-unknown-id.yml +54 -0
  66. data/spec/vcr_cassettes/provider/save-invalid.yml +178 -0
  67. data/spec/vcr_cassettes/provider/save-update-valid.yml +144 -0
  68. data/spec/vcr_cassettes/se/find-existing.yml +53 -0
  69. data/spec/vcr_cassettes/se/find-non_existent.yml +50 -0
  70. data/spec/vcr_cassettes/se/lazy-eval-exists.yml +52 -0
  71. data/spec/vcr_cassettes/se/save-create-known-id.yml +146 -0
  72. data/spec/vcr_cassettes/se/save-create-unknown-id.yml +56 -0
  73. data/spec/vcr_cassettes/se/save-invalid.yml +305 -0
  74. data/spec/vcr_cassettes/se/save-update-valid.yml +99 -0
  75. data/spec/vcr_cassettes/se/search-malformed-uuid.yml +54 -0
  76. data/spec/vcr_cassettes/se/search-with-existing-se.yml +52 -0
  77. data/spec/vcr_cassettes/se/search-with-missing-se.yml +52 -0
  78. data/spec/vcr_cassettes/search/search-with-existing-se.yml +52 -0
  79. data/spec/vcr_cassettes/search_results/no-results.yml +52 -0
  80. data/spec/vcr_cassettes/search_results/search-by-digi_id.yml +101 -0
  81. data/spec/vcr_cassettes/search_results/search-by-step.yml +201 -0
  82. metadata +307 -0
@@ -0,0 +1,99 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://foo:bar@localhost:3000/api/v0/ses/acf51ef2-8bf3-4f05-9042-0bfcb6860560
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ X-Frame-Options:
22
+ - SAMEORIGIN
23
+ X-Xss-Protection:
24
+ - 1; mode=block
25
+ X-Content-Type-Options:
26
+ - nosniff
27
+ X-Ua-Compatible:
28
+ - chrome=1
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ X-Meta-Request-Version:
32
+ - 0.2.9
33
+ Etag:
34
+ - '"76aab5ff206987e4ad005fdaa5112b11"'
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ Set-Cookie:
38
+ - request_method=GET; path=/
39
+ X-Request-Id:
40
+ - 690fbbd9-d04c-4e66-bad9-b87acd6ac009
41
+ X-Runtime:
42
+ - '0.010178'
43
+ Connection:
44
+ - close
45
+ Server:
46
+ - thin 1.6.2 codename Doc Brown
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"id":"acf51ef2-8bf3-4f05-9042-0bfcb6860560","coll_id":"ea85c776-a79b-4603-b307-d6760a400281","digi_id":"foo_quux_cuid01234","do_type":"audio","phase":"digitization","step":"qc","status":"active","notes":"these
50
+ are some AWESOME notes!","label":"v 1 pt. 2","created_at":"2016-11-30T18:52:03.913Z","updated_at":"2016-12-08T16:37:59.854Z","coll_url":"http://localhost:3000/api/v0/colls/ea85c776-a79b-4603-b307-d6760a400281","lock_version":3}'
51
+ http_version:
52
+ recorded_at: Thu, 08 Dec 2016 16:42:58 GMT
53
+ - request:
54
+ method: put
55
+ uri: http://foo:bar@localhost:3000/api/v0/ses/acf51ef2-8bf3-4f05-9042-0bfcb6860560
56
+ body:
57
+ encoding: UTF-8
58
+ string: '{"id":"acf51ef2-8bf3-4f05-9042-0bfcb6860560","coll_id":"ea85c776-a79b-4603-b307-d6760a400281","digi_id":"foo_quux_cuid01234","do_type":"audio","phase":"upload","step":"packaging","status":"active","label":"v
59
+ 1 pt. 2","notes":"these are some AWESOME notes!","created_at":"2016-11-30T18:52:03.913Z","updated_at":"2016-12-08T16:37:59.854Z","lock_version":3}'
60
+ headers:
61
+ User-Agent:
62
+ - Faraday v0.9.2
63
+ Content-Type:
64
+ - application/json
65
+ Accept-Encoding:
66
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
67
+ Accept:
68
+ - "*/*"
69
+ response:
70
+ status:
71
+ code: 204
72
+ message: No Content
73
+ headers:
74
+ X-Frame-Options:
75
+ - SAMEORIGIN
76
+ X-Xss-Protection:
77
+ - 1; mode=block
78
+ X-Content-Type-Options:
79
+ - nosniff
80
+ X-Ua-Compatible:
81
+ - chrome=1
82
+ X-Meta-Request-Version:
83
+ - 0.2.9
84
+ Cache-Control:
85
+ - no-cache
86
+ X-Request-Id:
87
+ - 5bbb4ae5-fb33-4eb8-ba45-c6564fc20597
88
+ X-Runtime:
89
+ - '0.015704'
90
+ Connection:
91
+ - close
92
+ Server:
93
+ - thin 1.6.2 codename Doc Brown
94
+ body:
95
+ encoding: UTF-8
96
+ string: ''
97
+ http_version:
98
+ recorded_at: Thu, 08 Dec 2016 16:42:58 GMT
99
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,54 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://foo:bar@localhost:3000/api/v0/search?coll_id=ea85c0a400281&digi_id=foo_quux_cuid370&scope=ses
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 400
19
+ message: Bad Request
20
+ headers:
21
+ X-Frame-Options:
22
+ - SAMEORIGIN
23
+ X-Xss-Protection:
24
+ - 1; mode=block
25
+ X-Content-Type-Options:
26
+ - nosniff
27
+ X-Ua-Compatible:
28
+ - chrome=1
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ X-Meta-Request-Version:
32
+ - 0.2.9
33
+ Cache-Control:
34
+ - no-cache
35
+ Set-Cookie:
36
+ - request_method=GET; path=/
37
+ X-Request-Id:
38
+ - 81a62b8a-dd5c-4ee5-87ec-00baa34d6056
39
+ X-Runtime:
40
+ - '0.008165'
41
+ Connection:
42
+ - close
43
+ Server:
44
+ - thin 1.6.2 codename Doc Brown
45
+ body:
46
+ encoding: UTF-8
47
+ string: '{"errors":["PG::InvalidTextRepresentation: ERROR: invalid input syntax
48
+ for uuid: \"ea85c0a400281\"\nLINE 1: ...ELECT \"ses\".* FROM \"ses\" WHERE
49
+ \"ses\".\"coll_id\" = ''ea85c0a40...\n ^\n:
50
+ SELECT \"ses\".* FROM \"ses\" WHERE \"ses\".\"coll_id\" = ''ea85c0a400281''
51
+ AND \"ses\".\"digi_id\" = ''foo_quux_cuid370''"]}'
52
+ http_version:
53
+ recorded_at: Wed, 05 Jul 2017 00:25:41 GMT
54
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,52 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://foo:bar@localhost:3000/api/v0/search?coll_id=ea85c776-a79b-4603-b307-d6760a400281&digi_id=foo_quux_cuid370&scope=ses
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ X-Frame-Options:
22
+ - SAMEORIGIN
23
+ X-Xss-Protection:
24
+ - 1; mode=block
25
+ X-Content-Type-Options:
26
+ - nosniff
27
+ X-Ua-Compatible:
28
+ - chrome=1
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ X-Meta-Request-Version:
32
+ - 0.2.9
33
+ Etag:
34
+ - '"820092f65f371dd11aea30f413ae8cc2"'
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ Set-Cookie:
38
+ - request_method=GET; path=/
39
+ X-Request-Id:
40
+ - 4aca9a9d-68f2-45dc-9cbe-22612a54ac8c
41
+ X-Runtime:
42
+ - '0.007031'
43
+ Connection:
44
+ - close
45
+ Server:
46
+ - thin 1.6.2 codename Doc Brown
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"responseHeader":{"params":{"coll_id":"ea85c776-a79b-4603-b307-d6760a400281","digi_id":"foo_quux_cuid370","scope":"ses"}},"response":{"numFound":1,"start":0,"docs":[{"url":"http://localhost:3000/api/v0/ses/f903ee1f-83e3-4ba2-8234-0d0b85793705"}]}}'
50
+ http_version:
51
+ recorded_at: Wed, 05 Jul 2017 00:25:41 GMT
52
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,52 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://foo:bar@localhost:3000/api/v0/search?coll_id=ea85c776-a79b-4603-b307-d6760a400281&digi_id=iamnothere&scope=ses
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ X-Frame-Options:
22
+ - SAMEORIGIN
23
+ X-Xss-Protection:
24
+ - 1; mode=block
25
+ X-Content-Type-Options:
26
+ - nosniff
27
+ X-Ua-Compatible:
28
+ - chrome=1
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ X-Meta-Request-Version:
32
+ - 0.2.9
33
+ Etag:
34
+ - '"ecd249f0c70901b0fedbe943e739415f"'
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ Set-Cookie:
38
+ - request_method=GET; path=/
39
+ X-Request-Id:
40
+ - 50a8c019-8346-4492-b8a5-302e085bd66f
41
+ X-Runtime:
42
+ - '0.006501'
43
+ Connection:
44
+ - close
45
+ Server:
46
+ - thin 1.6.2 codename Doc Brown
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"responseHeader":{"params":{"coll_id":"ea85c776-a79b-4603-b307-d6760a400281","digi_id":"iamnothere","scope":"ses"}},"response":{"numFound":0,"start":0,"docs":[]}}'
50
+ http_version:
51
+ recorded_at: Wed, 05 Jul 2017 00:25:41 GMT
52
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,52 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://foo:bar@localhost:3000/api/v0/search?coll_id=ea85c776-a79b-4603-b307-d6760a400281&digi_id=foo_quux_cuid370&scope=ses
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ X-Frame-Options:
22
+ - SAMEORIGIN
23
+ X-Xss-Protection:
24
+ - 1; mode=block
25
+ X-Content-Type-Options:
26
+ - nosniff
27
+ X-Ua-Compatible:
28
+ - chrome=1
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ X-Meta-Request-Version:
32
+ - 0.2.9
33
+ Etag:
34
+ - '"820092f65f371dd11aea30f413ae8cc2"'
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ Set-Cookie:
38
+ - request_method=GET; path=/
39
+ X-Request-Id:
40
+ - 1131b755-74eb-4696-8e4a-ce64412950c1
41
+ X-Runtime:
42
+ - '0.007948'
43
+ Connection:
44
+ - close
45
+ Server:
46
+ - thin 1.6.2 codename Doc Brown
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"responseHeader":{"params":{"coll_id":"ea85c776-a79b-4603-b307-d6760a400281","digi_id":"foo_quux_cuid370","scope":"ses"}},"response":{"numFound":1,"start":0,"docs":[{"url":"http://localhost:3000/api/v0/ses/f903ee1f-83e3-4ba2-8234-0d0b85793705"}]}}'
50
+ http_version:
51
+ recorded_at: Thu, 06 Jul 2017 01:53:38 GMT
52
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,52 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://foo:bar@localhost:3000/api/v0/search?digi_id=3d842f97-25d3-4118-85c4-b6b973a43524&scope=ses
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ X-Frame-Options:
22
+ - SAMEORIGIN
23
+ X-Xss-Protection:
24
+ - 1; mode=block
25
+ X-Content-Type-Options:
26
+ - nosniff
27
+ X-Ua-Compatible:
28
+ - chrome=1
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ X-Meta-Request-Version:
32
+ - 0.2.9
33
+ Etag:
34
+ - '"262b9b3e4051b9595df5c70920492231"'
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ Set-Cookie:
38
+ - request_method=GET; path=/
39
+ X-Request-Id:
40
+ - 57f5f496-4d1b-4831-bdf7-4e1068f1a155
41
+ X-Runtime:
42
+ - '0.300909'
43
+ Connection:
44
+ - close
45
+ Server:
46
+ - thin 1.6.2 codename Doc Brown
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"responseHeader":{"params":{"digi_id":"3d842f97-25d3-4118-85c4-b6b973a43524","scope":"ses"}},"response":{"numFound":0,"start":0,"docs":[]}}'
50
+ http_version:
51
+ recorded_at: Thu, 06 Jul 2017 01:53:37 GMT
52
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,101 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://foo:bar@localhost:3000/api/v0/search?digi_id=foo_quux_cuid370&scope=ses
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ X-Frame-Options:
22
+ - SAMEORIGIN
23
+ X-Xss-Protection:
24
+ - 1; mode=block
25
+ X-Content-Type-Options:
26
+ - nosniff
27
+ X-Ua-Compatible:
28
+ - chrome=1
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ X-Meta-Request-Version:
32
+ - 0.2.9
33
+ Etag:
34
+ - '"304f209fe22efe1e91a29453a78fed33"'
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ Set-Cookie:
38
+ - request_method=GET; path=/
39
+ X-Request-Id:
40
+ - 22d3648a-879b-48d2-8d30-c015242b2f41
41
+ X-Runtime:
42
+ - '0.007239'
43
+ Connection:
44
+ - close
45
+ Server:
46
+ - thin 1.6.2 codename Doc Brown
47
+ body:
48
+ encoding: UTF-8
49
+ string: '{"responseHeader":{"params":{"digi_id":"foo_quux_cuid370","scope":"ses"}},"response":{"numFound":1,"start":0,"docs":[{"url":"http://localhost:3000/api/v0/ses/f903ee1f-83e3-4ba2-8234-0d0b85793705"}]}}'
50
+ http_version:
51
+ recorded_at: Thu, 06 Jul 2017 01:53:37 GMT
52
+ - request:
53
+ method: get
54
+ uri: http://foo:bar@localhost:3000/api/v0/ses/f903ee1f-83e3-4ba2-8234-0d0b85793705
55
+ body:
56
+ encoding: US-ASCII
57
+ string: ''
58
+ headers:
59
+ User-Agent:
60
+ - Faraday v0.9.2
61
+ Accept-Encoding:
62
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
63
+ Accept:
64
+ - "*/*"
65
+ response:
66
+ status:
67
+ code: 200
68
+ message: OK
69
+ headers:
70
+ X-Frame-Options:
71
+ - SAMEORIGIN
72
+ X-Xss-Protection:
73
+ - 1; mode=block
74
+ X-Content-Type-Options:
75
+ - nosniff
76
+ X-Ua-Compatible:
77
+ - chrome=1
78
+ Content-Type:
79
+ - application/json; charset=utf-8
80
+ X-Meta-Request-Version:
81
+ - 0.2.9
82
+ Etag:
83
+ - '"9034ddca3e4876750ec146dfb508a27d"'
84
+ Cache-Control:
85
+ - max-age=0, private, must-revalidate
86
+ Set-Cookie:
87
+ - request_method=GET; path=/
88
+ X-Request-Id:
89
+ - 02a0b14b-ff36-42fb-8ee6-0db85ba72158
90
+ X-Runtime:
91
+ - '0.009841'
92
+ Connection:
93
+ - close
94
+ Server:
95
+ - thin 1.6.2 codename Doc Brown
96
+ body:
97
+ encoding: UTF-8
98
+ string: '{"id":"f903ee1f-83e3-4ba2-8234-0d0b85793705","coll_id":"ea85c776-a79b-4603-b307-d6760a400281","digi_id":"foo_quux_cuid370","do_type":"postcard","phase":"digitization","step":"digitization","status":"queued","notes":null,"label":null,"created_at":"2017-05-16T18:54:24.431Z","updated_at":"2017-05-16T18:54:24.431Z","coll_url":"http://localhost:3000/api/v0/colls/ea85c776-a79b-4603-b307-d6760a400281","lock_version":0}'
99
+ http_version:
100
+ recorded_at: Thu, 06 Jul 2017 01:53:37 GMT
101
+ recorded_with: VCR 2.9.3