triannon-client 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -0
  3. data/lib/triannon-client/triannon_client.rb +14 -3
  4. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/cannot_get_an_open_annotation_by_ID_with_content_type_application/n-quads_.yml +49 -61
  5. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/cannot_get_an_open_annotation_by_ID_with_content_type_application/n-triples_.yml +49 -61
  6. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/cannot_get_an_open_annotation_by_ID_with_content_type_application/rdf_json_.yml +49 -61
  7. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/cannot_get_an_open_annotation_by_ID_with_content_type_application/rdf_n3_.yml +49 -61
  8. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/cannot_get_an_open_annotation_by_ID_with_content_type_application/trig_.yml +49 -61
  9. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/cannot_get_an_open_annotation_by_ID_with_content_type_application/trix_.yml +49 -61
  10. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/cannot_get_an_open_annotation_by_ID_with_content_type_application/turtle_.yml +49 -61
  11. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/cannot_get_an_open_annotation_by_ID_with_content_type_application/x-ld_json_.yml +49 -61
  12. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/cannot_get_an_open_annotation_by_ID_with_content_type_application/x-trig_.yml +49 -61
  13. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/cannot_get_an_open_annotation_by_ID_with_content_type_text/n3_.yml +49 -61
  14. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/cannot_get_an_open_annotation_by_ID_with_content_type_text/rdf_n3_.yml +49 -61
  15. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/cannot_get_an_open_annotation_by_ID_with_content_type_text/rdf_turtle_.yml +49 -61
  16. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/cannot_get_an_open_annotation_by_ID_with_content_type_text/x-nquads_.yml +49 -61
  17. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/gets_an_open_annotation_by_ID_with_content_type_application/ld_json_.yml +46 -46
  18. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/gets_an_open_annotation_by_ID_with_content_type_application/rdf_xml_.yml +34 -34
  19. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/gets_an_open_annotation_by_ID_with_content_type_application/x-turtle_.yml +33 -33
  20. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/gets_an_open_annotation_by_ID_with_content_type_text/turtle_.yml +33 -33
  21. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/requests_an_open_annotation_by_ID_with_content_type_application/ld_json_.yml +26 -26
  22. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/requests_an_open_annotation_by_ID_with_content_type_application/n-quads_.yml +26 -26
  23. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/requests_an_open_annotation_by_ID_with_content_type_application/n-triples_.yml +26 -26
  24. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/requests_an_open_annotation_by_ID_with_content_type_application/rdf_json_.yml +26 -26
  25. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/requests_an_open_annotation_by_ID_with_content_type_application/rdf_n3_.yml +26 -26
  26. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/requests_an_open_annotation_by_ID_with_content_type_application/rdf_xml_.yml +26 -26
  27. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/requests_an_open_annotation_by_ID_with_content_type_application/trig_.yml +26 -26
  28. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/requests_an_open_annotation_by_ID_with_content_type_application/trix_.yml +26 -26
  29. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/requests_an_open_annotation_by_ID_with_content_type_application/turtle_.yml +26 -26
  30. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/requests_an_open_annotation_by_ID_with_content_type_application/x-ld_json_.yml +26 -26
  31. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/requests_an_open_annotation_by_ID_with_content_type_application/x-trig_.yml +26 -26
  32. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/requests_an_open_annotation_by_ID_with_content_type_application/x-turtle_.yml +26 -26
  33. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/requests_an_open_annotation_by_ID_with_content_type_text/n3_.yml +26 -26
  34. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/requests_an_open_annotation_by_ID_with_content_type_text/rdf_n3_.yml +26 -26
  35. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/requests_an_open_annotation_by_ID_with_content_type_text/rdf_turtle_.yml +26 -26
  36. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/requests_an_open_annotation_by_ID_with_content_type_text/turtle_.yml +26 -26
  37. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/with_content_type/requests_an_open_annotation_by_ID_with_content_type_text/x-nquads_.yml +26 -26
  38. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/without_content_type/checks_the_annotation_ID.yml +26 -26
  39. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/without_content_type/logs_exceptions.yml +26 -26
  40. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/without_content_type/raises_an_argument_error_with_a_nil_ID.yml +26 -26
  41. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/without_content_type/raises_an_argument_error_with_an_empty_string_ID.yml +26 -26
  42. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/without_content_type/raises_an_argument_error_with_an_integer_ID.yml +26 -26
  43. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/without_content_type/requests_an_open_annotation_by_ID_accepting_a_default_JSON-LD_content.yml +26 -26
  44. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/without_content_type/returns_an_EMPTY_RDF_graph_for_a_500_server_response.yml +26 -26
  45. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/without_content_type/returns_an_EMPTY_RDF_graph_with_a_valid_ID_for_NO_annotation_on_the_server.yml +99 -40
  46. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_annotation/without_content_type/returns_an_RDF_graph_with_a_valid_ID_for_an_annotation_on_the_server.yml +46 -46
  47. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_iiif_annotation/requests_an_open_annotation_by_ID_using_a_IIIF_profile.yml +26 -26
  48. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_iiif_annotation/returns_an_RDF_Graph_of_an_open_annotation.yml +40 -40
  49. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_oa_annotation/requests_an_open_annotation_by_ID_using_an_OA_profile.yml +26 -26
  50. data/spec/fixtures/vcr_cassettes/TriannonClient/GET_annotation_by_ID_/_get_oa_annotation/returns_an_RDF_Graph_of_an_open_annotation.yml +46 -46
  51. data/spec/fixtures/vcr_cassettes/TriannonClient/_delete_annotation/{returns_true_for_a_204_response_to_a_DELETE_request.yml → does_not_log_exceptions_for_missing_annotations_404_responses_.yml} +10 -10
  52. data/spec/fixtures/vcr_cassettes/TriannonClient/_delete_annotation/{returns_false_for_a_500_response_to_a_DELETE_request.yml → does_not_log_exceptions_for_missing_annotations_410_responses_.yml} +10 -10
  53. data/spec/fixtures/vcr_cassettes/TriannonClient/_delete_annotation/{returns_true_for_a_202_response_to_a_DELETE_request.yml → logs_exceptions.yml} +9 -9
  54. data/spec/fixtures/vcr_cassettes/TriannonClient/_delete_annotation/{returns_true_for_a_200_response_to_a_DELETE_request.yml → returns_FALSE_for_a_500_response_to_a_DELETE_request.yml} +11 -12
  55. data/spec/fixtures/vcr_cassettes/TriannonClient/_delete_annotation/returns_TRUE_for_a_200_response_to_a_DELETE_request.yml +63 -0
  56. data/spec/fixtures/vcr_cassettes/TriannonClient/_delete_annotation/returns_TRUE_for_a_202_response_to_a_DELETE_request.yml +63 -0
  57. data/spec/fixtures/vcr_cassettes/TriannonClient/_delete_annotation/returns_TRUE_for_a_204_response_to_a_DELETE_request.yml +63 -0
  58. data/spec/fixtures/vcr_cassettes/TriannonClient/_delete_annotation/returns_TRUE_for_a_404_response_to_a_DELETE_request.yml +63 -0
  59. data/spec/fixtures/vcr_cassettes/TriannonClient/_delete_annotation/returns_TRUE_for_a_410_response_to_a_DELETE_request.yml +63 -0
  60. data/spec/fixtures/vcr_cassettes/TriannonClient/_delete_annotation/{fails_to_delete_an_open_annotation_that_does_NOT_exist.yml → returns_TRUE_when_deleting_an_open_annotation_that_does_NOT_exist.yml} +8 -8
  61. data/spec/fixtures/vcr_cassettes/TriannonClient/_delete_annotation/{deletes_an_open_annotation_that_exists.yml → returns_TRUE_when_deleting_an_open_annotation_that_exists.yml} +34 -34
  62. data/spec/fixtures/vcr_cassettes/TriannonClient/_delete_annotation/validates_the_annotation_ID.yml +8 -8
  63. data/spec/fixtures/vcr_cassettes/TriannonClient/_get_annotations/returns_an_RDF_Graph.yml +14 -14
  64. data/spec/fixtures/vcr_cassettes/TriannonClient/_get_annotations/returns_an_RDF_Graph_that_contains_an_AnnotationList.yml +14 -14
  65. data/spec/fixtures/vcr_cassettes/TriannonClient/_get_annotations/returns_an_annotation_list_with_an_annotation_created_by_a_prior_POST.yml +42 -42
  66. data/spec/fixtures/vcr_cassettes/TriannonClient/_post_annotation/does_not_raise_an_error_when_submitting_a_valid_open_annotation.yml +26 -26
  67. data/spec/fixtures/vcr_cassettes/TriannonClient/_post_annotation/logs_exceptions.yml +5601 -0
  68. data/spec/fixtures/vcr_cassettes/TriannonClient/_post_annotation/logs_exceptions_for_RestClient_Exception.yml +5601 -0
  69. data/spec/fixtures/vcr_cassettes/TriannonClient/_post_annotation/returns_a_RestClient_Response_object.yml +26 -26
  70. data/spec/fixtures/vcr_cassettes/TriannonClient/response_processing_utilities/_annotation_id/returns_a_String_ID_from_the_RDF_URI_of_an_annotation.yml +26 -26
  71. data/spec/fixtures/vcr_cassettes/TriannonClient/response_processing_utilities/_annotation_id/returns_a_String_ID_that_is_not_empty.yml +26 -26
  72. data/spec/fixtures/vcr_cassettes/TriannonClient/response_processing_utilities/_annotation_uris/returns_an_RDF_URI_that_is_a_valid_URI.yml +34 -34
  73. data/spec/fixtures/vcr_cassettes/TriannonClient/response_processing_utilities/_annotation_uris/returns_an_array_of_RDF_URI_from_an_RDF_Graph_of_an_annotation.yml +26 -26
  74. data/spec/fixtures/vcr_cassettes/TriannonClient/response_processing_utilities/_response2graph/accepts_a_RestClient_Response_instance.yml +38 -38
  75. data/spec/fixtures/vcr_cassettes/TriannonClient/response_processing_utilities/_response2graph/raises_ArgumentError_when_given_an_empty_String.yml +26 -26
  76. data/spec/fixtures/vcr_cassettes/TriannonClient/response_processing_utilities/_response2graph/raises_ArgumentError_when_given_nil.yml +26 -26
  77. data/spec/fixtures/vcr_cassettes/TriannonClient/response_processing_utilities/_response2graph/returns_an_RDF_Graph.yml +26 -26
  78. data/spec/lib/triannon-client/triannon_client_spec.rb +67 -26
  79. data/triannon-client.gemspec +1 -1
  80. metadata +28 -14
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: delete
5
- uri: http://localhost:3000/annotations/anything_here_is_OK
5
+ uri: http://localhost:3000/annotations/500_is_false
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -29,26 +29,25 @@ http_interactions:
29
29
  Cache-Control:
30
30
  - no-cache
31
31
  X-Request-Id:
32
- - 0cbaaa9d-3c18-4150-9382-92acdad27c3c
32
+ - 8b274e2e-d4ab-41b8-aa99-f8aa73deb743
33
33
  X-Runtime:
34
- - '0.022152'
34
+ - '0.061279'
35
35
  Server:
36
36
  - WEBrick/1.3.1 (Ruby/2.2.2/2015-04-13)
37
37
  Date:
38
- - Wed, 13 May 2015 22:29:42 GMT
38
+ - Mon, 18 May 2015 20:06:07 GMT
39
39
  Content-Length:
40
- - '1452'
40
+ - '1438'
41
41
  Connection:
42
42
  - Keep-Alive
43
43
  Set-Cookie:
44
44
  - request_method=DELETE; path=/
45
45
  body:
46
46
  encoding: UTF-8
47
- string: "<h2>error getting anything_here_is_OK from LDP</h2><html>\n<head>\n<meta
48
- http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\"/>\n<title>Error
49
- 404 Not Found</title>\n</head>\n<body><h2>HTTP ERROR 404</h2>\n<p>Problem
50
- accessing /fedora/rest/anno/anything_here_is_OK. Reason:\n<pre> Not Found</pre></p><hr
51
- /><i><small>Powered by Jetty://</small></i><br/> \n<br/>
47
+ string: "<h2>error getting 500_is_false from LDP</h2><html>\n<head>\n<meta http-equiv=\"Content-Type\"
48
+ content=\"text/html; charset=ISO-8859-1\"/>\n<title>Error 404 Not Found</title>\n</head>\n<body><h2>HTTP
49
+ ERROR 404</h2>\n<p>Problem accessing /fedora/rest/anno/500_is_false. Reason:\n<pre>
50
+ \ Not Found</pre></p><hr /><i><small>Powered by Jetty://</small></i><br/>
52
51
  \ \n<br/> \n<br/>
53
52
  \ \n<br/> \n<br/>
54
53
  \ \n<br/> \n<br/>
@@ -58,7 +57,7 @@ http_interactions:
58
57
  \ \n<br/> \n<br/>
59
58
  \ \n<br/> \n<br/>
60
59
  \ \n<br/> \n<br/>
61
- \ \n\n</body>\n</html>\n"
60
+ \ \n<br/> \n\n</body>\n</html>\n"
62
61
  http_version:
63
- recorded_at: Wed, 13 May 2015 22:29:42 GMT
62
+ recorded_at: Mon, 18 May 2015 20:06:07 GMT
64
63
  recorded_with: VCR 2.9.3
@@ -0,0 +1,63 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: delete
5
+ uri: http://localhost:3000/annotations/200_is_true
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 404
19
+ message: 'Not Found '
20
+ headers:
21
+ X-Frame-Options:
22
+ - SAMEORIGIN
23
+ X-Xss-Protection:
24
+ - 1; mode=block
25
+ X-Content-Type-Options:
26
+ - nosniff
27
+ Content-Type:
28
+ - text/html; charset=utf-8
29
+ Cache-Control:
30
+ - no-cache
31
+ X-Request-Id:
32
+ - 2bcce904-f0f7-4634-843d-cd076b912505
33
+ X-Runtime:
34
+ - '0.031818'
35
+ Server:
36
+ - WEBrick/1.3.1 (Ruby/2.2.2/2015-04-13)
37
+ Date:
38
+ - Mon, 18 May 2015 20:06:07 GMT
39
+ Content-Length:
40
+ - '1436'
41
+ Connection:
42
+ - Keep-Alive
43
+ Set-Cookie:
44
+ - request_method=DELETE; path=/
45
+ body:
46
+ encoding: UTF-8
47
+ string: "<h2>error getting 200_is_true from LDP</h2><html>\n<head>\n<meta http-equiv=\"Content-Type\"
48
+ content=\"text/html; charset=ISO-8859-1\"/>\n<title>Error 404 Not Found</title>\n</head>\n<body><h2>HTTP
49
+ ERROR 404</h2>\n<p>Problem accessing /fedora/rest/anno/200_is_true. Reason:\n<pre>
50
+ \ Not Found</pre></p><hr /><i><small>Powered by Jetty://</small></i><br/>
51
+ \ \n<br/> \n<br/>
52
+ \ \n<br/> \n<br/>
53
+ \ \n<br/> \n<br/>
54
+ \ \n<br/> \n<br/>
55
+ \ \n<br/> \n<br/>
56
+ \ \n<br/> \n<br/>
57
+ \ \n<br/> \n<br/>
58
+ \ \n<br/> \n<br/>
59
+ \ \n<br/> \n<br/>
60
+ \ \n<br/> \n\n</body>\n</html>\n"
61
+ http_version:
62
+ recorded_at: Mon, 18 May 2015 20:06:07 GMT
63
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,63 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: delete
5
+ uri: http://localhost:3000/annotations/202_is_true
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 404
19
+ message: 'Not Found '
20
+ headers:
21
+ X-Frame-Options:
22
+ - SAMEORIGIN
23
+ X-Xss-Protection:
24
+ - 1; mode=block
25
+ X-Content-Type-Options:
26
+ - nosniff
27
+ Content-Type:
28
+ - text/html; charset=utf-8
29
+ Cache-Control:
30
+ - no-cache
31
+ X-Request-Id:
32
+ - 14210990-38b2-4f3c-812e-188da313dba7
33
+ X-Runtime:
34
+ - '0.037773'
35
+ Server:
36
+ - WEBrick/1.3.1 (Ruby/2.2.2/2015-04-13)
37
+ Date:
38
+ - Mon, 18 May 2015 20:06:07 GMT
39
+ Content-Length:
40
+ - '1436'
41
+ Connection:
42
+ - Keep-Alive
43
+ Set-Cookie:
44
+ - request_method=DELETE; path=/
45
+ body:
46
+ encoding: UTF-8
47
+ string: "<h2>error getting 202_is_true from LDP</h2><html>\n<head>\n<meta http-equiv=\"Content-Type\"
48
+ content=\"text/html; charset=ISO-8859-1\"/>\n<title>Error 404 Not Found</title>\n</head>\n<body><h2>HTTP
49
+ ERROR 404</h2>\n<p>Problem accessing /fedora/rest/anno/202_is_true. Reason:\n<pre>
50
+ \ Not Found</pre></p><hr /><i><small>Powered by Jetty://</small></i><br/>
51
+ \ \n<br/> \n<br/>
52
+ \ \n<br/> \n<br/>
53
+ \ \n<br/> \n<br/>
54
+ \ \n<br/> \n<br/>
55
+ \ \n<br/> \n<br/>
56
+ \ \n<br/> \n<br/>
57
+ \ \n<br/> \n<br/>
58
+ \ \n<br/> \n<br/>
59
+ \ \n<br/> \n<br/>
60
+ \ \n<br/> \n\n</body>\n</html>\n"
61
+ http_version:
62
+ recorded_at: Mon, 18 May 2015 20:06:07 GMT
63
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,63 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: delete
5
+ uri: http://localhost:3000/annotations/204_is_true
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 404
19
+ message: 'Not Found '
20
+ headers:
21
+ X-Frame-Options:
22
+ - SAMEORIGIN
23
+ X-Xss-Protection:
24
+ - 1; mode=block
25
+ X-Content-Type-Options:
26
+ - nosniff
27
+ Content-Type:
28
+ - text/html; charset=utf-8
29
+ Cache-Control:
30
+ - no-cache
31
+ X-Request-Id:
32
+ - d4e0c39a-06d8-4333-a0c9-06714ad40033
33
+ X-Runtime:
34
+ - '0.038353'
35
+ Server:
36
+ - WEBrick/1.3.1 (Ruby/2.2.2/2015-04-13)
37
+ Date:
38
+ - Mon, 18 May 2015 20:06:07 GMT
39
+ Content-Length:
40
+ - '1436'
41
+ Connection:
42
+ - Keep-Alive
43
+ Set-Cookie:
44
+ - request_method=DELETE; path=/
45
+ body:
46
+ encoding: UTF-8
47
+ string: "<h2>error getting 204_is_true from LDP</h2><html>\n<head>\n<meta http-equiv=\"Content-Type\"
48
+ content=\"text/html; charset=ISO-8859-1\"/>\n<title>Error 404 Not Found</title>\n</head>\n<body><h2>HTTP
49
+ ERROR 404</h2>\n<p>Problem accessing /fedora/rest/anno/204_is_true. Reason:\n<pre>
50
+ \ Not Found</pre></p><hr /><i><small>Powered by Jetty://</small></i><br/>
51
+ \ \n<br/> \n<br/>
52
+ \ \n<br/> \n<br/>
53
+ \ \n<br/> \n<br/>
54
+ \ \n<br/> \n<br/>
55
+ \ \n<br/> \n<br/>
56
+ \ \n<br/> \n<br/>
57
+ \ \n<br/> \n<br/>
58
+ \ \n<br/> \n<br/>
59
+ \ \n<br/> \n<br/>
60
+ \ \n<br/> \n\n</body>\n</html>\n"
61
+ http_version:
62
+ recorded_at: Mon, 18 May 2015 20:06:07 GMT
63
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,63 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: delete
5
+ uri: http://localhost:3000/annotations/404_is_true
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 404
19
+ message: 'Not Found '
20
+ headers:
21
+ X-Frame-Options:
22
+ - SAMEORIGIN
23
+ X-Xss-Protection:
24
+ - 1; mode=block
25
+ X-Content-Type-Options:
26
+ - nosniff
27
+ Content-Type:
28
+ - text/html; charset=utf-8
29
+ Cache-Control:
30
+ - no-cache
31
+ X-Request-Id:
32
+ - c764a882-4b9a-466c-96d1-9e8af31e4646
33
+ X-Runtime:
34
+ - '0.047105'
35
+ Server:
36
+ - WEBrick/1.3.1 (Ruby/2.2.2/2015-04-13)
37
+ Date:
38
+ - Mon, 18 May 2015 20:06:07 GMT
39
+ Content-Length:
40
+ - '1436'
41
+ Connection:
42
+ - Keep-Alive
43
+ Set-Cookie:
44
+ - request_method=DELETE; path=/
45
+ body:
46
+ encoding: UTF-8
47
+ string: "<h2>error getting 404_is_true from LDP</h2><html>\n<head>\n<meta http-equiv=\"Content-Type\"
48
+ content=\"text/html; charset=ISO-8859-1\"/>\n<title>Error 404 Not Found</title>\n</head>\n<body><h2>HTTP
49
+ ERROR 404</h2>\n<p>Problem accessing /fedora/rest/anno/404_is_true. Reason:\n<pre>
50
+ \ Not Found</pre></p><hr /><i><small>Powered by Jetty://</small></i><br/>
51
+ \ \n<br/> \n<br/>
52
+ \ \n<br/> \n<br/>
53
+ \ \n<br/> \n<br/>
54
+ \ \n<br/> \n<br/>
55
+ \ \n<br/> \n<br/>
56
+ \ \n<br/> \n<br/>
57
+ \ \n<br/> \n<br/>
58
+ \ \n<br/> \n<br/>
59
+ \ \n<br/> \n<br/>
60
+ \ \n<br/> \n\n</body>\n</html>\n"
61
+ http_version:
62
+ recorded_at: Mon, 18 May 2015 20:06:07 GMT
63
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,63 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: delete
5
+ uri: http://localhost:3000/annotations/410_is_true
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 404
19
+ message: 'Not Found '
20
+ headers:
21
+ X-Frame-Options:
22
+ - SAMEORIGIN
23
+ X-Xss-Protection:
24
+ - 1; mode=block
25
+ X-Content-Type-Options:
26
+ - nosniff
27
+ Content-Type:
28
+ - text/html; charset=utf-8
29
+ Cache-Control:
30
+ - no-cache
31
+ X-Request-Id:
32
+ - 02a168a2-061a-4560-9168-25b6aaeb07d2
33
+ X-Runtime:
34
+ - '0.031490'
35
+ Server:
36
+ - WEBrick/1.3.1 (Ruby/2.2.2/2015-04-13)
37
+ Date:
38
+ - Mon, 18 May 2015 20:06:07 GMT
39
+ Content-Length:
40
+ - '1436'
41
+ Connection:
42
+ - Keep-Alive
43
+ Set-Cookie:
44
+ - request_method=DELETE; path=/
45
+ body:
46
+ encoding: UTF-8
47
+ string: "<h2>error getting 410_is_true from LDP</h2><html>\n<head>\n<meta http-equiv=\"Content-Type\"
48
+ content=\"text/html; charset=ISO-8859-1\"/>\n<title>Error 404 Not Found</title>\n</head>\n<body><h2>HTTP
49
+ ERROR 404</h2>\n<p>Problem accessing /fedora/rest/anno/410_is_true. Reason:\n<pre>
50
+ \ Not Found</pre></p><hr /><i><small>Powered by Jetty://</small></i><br/>
51
+ \ \n<br/> \n<br/>
52
+ \ \n<br/> \n<br/>
53
+ \ \n<br/> \n<br/>
54
+ \ \n<br/> \n<br/>
55
+ \ \n<br/> \n<br/>
56
+ \ \n<br/> \n<br/>
57
+ \ \n<br/> \n<br/>
58
+ \ \n<br/> \n<br/>
59
+ \ \n<br/> \n<br/>
60
+ \ \n<br/> \n\n</body>\n</html>\n"
61
+ http_version:
62
+ recorded_at: Mon, 18 May 2015 20:06:07 GMT
63
+ recorded_with: VCR 2.9.3
@@ -29,13 +29,13 @@ http_interactions:
29
29
  Cache-Control:
30
30
  - no-cache
31
31
  X-Request-Id:
32
- - 292a5f73-3d5e-4b14-aabb-771d7aaa6e17
32
+ - f8942ff0-133d-4b9a-a28d-46215c478919
33
33
  X-Runtime:
34
- - '0.022245'
34
+ - '0.034329'
35
35
  Server:
36
36
  - WEBrick/1.3.1 (Ruby/2.2.2/2015-04-13)
37
37
  Date:
38
- - Wed, 13 May 2015 22:29:45 GMT
38
+ - Mon, 18 May 2015 20:06:13 GMT
39
39
  Content-Length:
40
40
  - '1452'
41
41
  Connection:
@@ -58,7 +58,7 @@ http_interactions:
58
58
  \ \n<br/> \n<br/>
59
59
  \ \n\n</body>\n</html>\n"
60
60
  http_version:
61
- recorded_at: Wed, 13 May 2015 22:29:45 GMT
61
+ recorded_at: Mon, 18 May 2015 20:06:13 GMT
62
62
  - request:
63
63
  method: delete
64
64
  uri: http://localhost:3000/annotations/anno_does_not_exist
@@ -88,13 +88,13 @@ http_interactions:
88
88
  Cache-Control:
89
89
  - no-cache
90
90
  X-Request-Id:
91
- - 1da91069-0ec6-4134-8e38-37e160e7ec12
91
+ - 474661ad-5d46-463d-a50b-950d513a3917
92
92
  X-Runtime:
93
- - '0.020527'
93
+ - '0.031949'
94
94
  Server:
95
95
  - WEBrick/1.3.1 (Ruby/2.2.2/2015-04-13)
96
96
  Date:
97
- - Wed, 13 May 2015 22:29:45 GMT
97
+ - Mon, 18 May 2015 20:06:13 GMT
98
98
  Content-Length:
99
99
  - '1452'
100
100
  Connection:
@@ -119,5 +119,5 @@ http_interactions:
119
119
  \ \n<br/> \n<br/>
120
120
  \ \n\n</body>\n</html>\n"
121
121
  http_version:
122
- recorded_at: Wed, 13 May 2015 22:29:45 GMT
122
+ recorded_at: Mon, 18 May 2015 20:06:13 GMT
123
123
  recorded_with: VCR 2.9.3
@@ -31,31 +31,31 @@ http_interactions:
31
31
  Content-Type:
32
32
  - application/ld+json; charset=utf-8
33
33
  Etag:
34
- - W/"beb3bb6cdb4da73ce685b27761316a8e"
34
+ - W/"2a598aae0675fc385f7e9e1181e4927c"
35
35
  Cache-Control:
36
36
  - max-age=0, private, must-revalidate
37
37
  X-Request-Id:
38
- - bcd36bbf-d955-4a24-86f0-0720ceba0b6e
38
+ - 673d1f7f-582e-46ef-bce0-222546c45ff6
39
39
  X-Runtime:
40
- - '1.555974'
40
+ - '4.062571'
41
41
  Server:
42
42
  - WEBrick/1.3.1 (Ruby/2.2.2/2015-04-13)
43
43
  Date:
44
- - Wed, 13 May 2015 22:29:44 GMT
44
+ - Mon, 18 May 2015 20:06:12 GMT
45
45
  Content-Length:
46
46
  - '443'
47
47
  Connection:
48
48
  - Keep-Alive
49
49
  Set-Cookie:
50
- - _internal_session=REZpVnVKcTlmYzc0SnZWVThteDBtTU9QZWZnUTlLQmVQNy9uVWNMWmpkYzNZdE9Zek9mTCtzekVJMWdlT0k1SVFkNjB5QW9SNGZGM2o2S09jRWlEU3dNLy9GYVhVRHlQTUNJUGNXQkJGUlcxSEFjU0p6TXUvaWU3NDg5SktLZWlRQzN4M1NEaFVQNFdEWEQ4QWlzZU00dnk4L3VDRlZ1NllsNDMvZHNQZ1lwc2xTdkRja1hYeFJEZW5zaWlMV1kvM1hMd2U0QzZFSmhZcVF4dk5VK0pqMFNOWXRGSVQ5bGRWYkJrd3J4bmJydjVGYmplRW5iNHFDRGVVcDRhb1p1RS0tK2VtQnBSR0pmRE0rVGlPcE1HWEl2Zz09--35847ee3a9fc8e8912784992a3e449480318c3a0;
50
+ - _internal_session=Njg1YnVNdXBuSHNOdjZSYU1YZi9US1hld3BsU0xnLzJCYmsxSkJNYTVRWXJ4dlNSYjZodU9hZWRkSGkyYmU2VUZhdlBTVERzTFpGSFYzVnlqTmdINXp4aThPdFR4TlQzQVVFVlFEODBEeE1DVzFNWExhRjMvVjVDK0I4YzlpMVFnTDYvQnR6OWFCTmxJc2U2QWRyZHVmQWVqdG4wZmZ1Rk5zbms3NTZ2VG9NdjJxRVdZRGw2L21XNkdDMGRTeUZNOHNsWHJhUVdOVTRvMld3c1l1VTRNU2VzdEFhV0laSkJ4R3p5VUhhVlBsVk5nNWJseGZKYjI4b1FaWnU5Q3huby0tZzI3a1dNekNTeThXUHR1K1Brd3duZz09--5a2619e4276d033a144981026cfae7fe785a3179;
51
51
  path=/; HttpOnly
52
52
  - request_method=POST; path=/
53
53
  body:
54
54
  encoding: UTF-8
55
- string: '{"@context":"http://www.w3.org/ns/oa-context-20130208.json","@graph":[{"@id":"_:g70052302546320","@type":["dctypes:Text","cnt:ContentAsText"],"chars":"I
56
- love this!","format":"text/plain","language":"en"},{"@id":"http://your.triannon-server.com/annotations/c0/2d/6d/79/c02d6d79-5d33-4f3d-8c86-303a84968852","@type":"oa:Annotation","hasBody":"_:g70052302546320","hasTarget":"http://purl.stanford.edu/kq131cs7229","motivatedBy":"oa:commenting"}]}'
55
+ string: '{"@context":"http://www.w3.org/ns/oa-context-20130208.json","@graph":[{"@id":"_:g70310850717480","@type":["dctypes:Text","cnt:ContentAsText"],"chars":"I
56
+ love this!","format":"text/plain","language":"en"},{"@id":"http://your.triannon-server.com/annotations/b5/85/9d/a3/b5859da3-768d-4607-b3bd-23379e589d5f","@type":"oa:Annotation","hasBody":"_:g70310850717480","hasTarget":"http://purl.stanford.edu/kq131cs7229","motivatedBy":"oa:commenting"}]}'
57
57
  http_version:
58
- recorded_at: Wed, 13 May 2015 22:29:44 GMT
58
+ recorded_at: Mon, 18 May 2015 20:06:12 GMT
59
59
  - request:
60
60
  method: get
61
61
  uri: http://www.w3.org/ns/oa-context-20130208.json
@@ -75,7 +75,7 @@ http_interactions:
75
75
  message: Temporary Redirect
76
76
  headers:
77
77
  Date:
78
- - Wed, 13 May 2015 22:29:44 GMT
78
+ - Mon, 18 May 2015 20:06:12 GMT
79
79
  Server:
80
80
  - Apache/2
81
81
  Location:
@@ -83,7 +83,7 @@ http_interactions:
83
83
  Cache-Control:
84
84
  - max-age=21600
85
85
  Expires:
86
- - Thu, 14 May 2015 04:29:44 GMT
86
+ - Tue, 19 May 2015 02:06:12 GMT
87
87
  Content-Length:
88
88
  - '240'
89
89
  Content-Type:
@@ -99,7 +99,7 @@ http_interactions:
99
99
  <p>The document has moved <a href="http://www.w3.org/ns/oa.jsonld">here</a>.</p>
100
100
  </body></html>
101
101
  http_version:
102
- recorded_at: Wed, 13 May 2015 22:29:44 GMT
102
+ recorded_at: Mon, 18 May 2015 20:06:12 GMT
103
103
  - request:
104
104
  method: get
105
105
  uri: http://www.w3.org/ns/oa.jsonld
@@ -121,7 +121,7 @@ http_interactions:
121
121
  message: OK
122
122
  headers:
123
123
  Date:
124
- - Wed, 13 May 2015 22:29:44 GMT
124
+ - Mon, 18 May 2015 20:06:12 GMT
125
125
  Server:
126
126
  - Apache/2
127
127
  Last-Modified:
@@ -135,7 +135,7 @@ http_interactions:
135
135
  Cache-Control:
136
136
  - max-age=21600
137
137
  Expires:
138
- - Thu, 14 May 2015 04:29:44 GMT
138
+ - Tue, 19 May 2015 02:06:12 GMT
139
139
  P3p:
140
140
  - policyref="http://www.w3.org/2014/08/p3p.xml"
141
141
  Access-Control-Allow-Origin:
@@ -1253,7 +1253,7 @@ http_interactions:
1253
1253
 
1254
1254
 
1255
1255
  http_version:
1256
- recorded_at: Wed, 13 May 2015 22:29:44 GMT
1256
+ recorded_at: Mon, 18 May 2015 20:06:12 GMT
1257
1257
  - request:
1258
1258
  method: get
1259
1259
  uri: http://www.w3.org/ns/oa-context-20130208.json
@@ -1273,7 +1273,7 @@ http_interactions:
1273
1273
  message: Temporary Redirect
1274
1274
  headers:
1275
1275
  Date:
1276
- - Wed, 13 May 2015 22:29:44 GMT
1276
+ - Mon, 18 May 2015 20:06:12 GMT
1277
1277
  Server:
1278
1278
  - Apache/2
1279
1279
  Location:
@@ -1281,7 +1281,7 @@ http_interactions:
1281
1281
  Cache-Control:
1282
1282
  - max-age=21600
1283
1283
  Expires:
1284
- - Thu, 14 May 2015 04:29:44 GMT
1284
+ - Tue, 19 May 2015 02:06:12 GMT
1285
1285
  Content-Length:
1286
1286
  - '240'
1287
1287
  Content-Type:
@@ -1297,7 +1297,7 @@ http_interactions:
1297
1297
  <p>The document has moved <a href="http://www.w3.org/ns/oa.jsonld">here</a>.</p>
1298
1298
  </body></html>
1299
1299
  http_version:
1300
- recorded_at: Wed, 13 May 2015 22:29:44 GMT
1300
+ recorded_at: Mon, 18 May 2015 20:06:12 GMT
1301
1301
  - request:
1302
1302
  method: get
1303
1303
  uri: http://www.w3.org/ns/oa.jsonld
@@ -1319,7 +1319,7 @@ http_interactions:
1319
1319
  message: OK
1320
1320
  headers:
1321
1321
  Date:
1322
- - Wed, 13 May 2015 22:29:44 GMT
1322
+ - Mon, 18 May 2015 20:06:13 GMT
1323
1323
  Server:
1324
1324
  - Apache/2
1325
1325
  Last-Modified:
@@ -1333,7 +1333,7 @@ http_interactions:
1333
1333
  Cache-Control:
1334
1334
  - max-age=21600
1335
1335
  Expires:
1336
- - Thu, 14 May 2015 04:29:44 GMT
1336
+ - Tue, 19 May 2015 02:06:13 GMT
1337
1337
  P3p:
1338
1338
  - policyref="http://www.w3.org/2014/08/p3p.xml"
1339
1339
  Access-Control-Allow-Origin:
@@ -2451,10 +2451,10 @@ http_interactions:
2451
2451
 
2452
2452
 
2453
2453
  http_version:
2454
- recorded_at: Wed, 13 May 2015 22:29:45 GMT
2454
+ recorded_at: Mon, 18 May 2015 20:06:13 GMT
2455
2455
  - request:
2456
2456
  method: delete
2457
- uri: http://localhost:3000/annotations/c0%2F2d%2F6d%2F79%2Fc02d6d79-5d33-4f3d-8c86-303a84968852
2457
+ uri: http://localhost:3000/annotations/b5%2F85%2F9d%2Fa3%2Fb5859da3-768d-4607-b3bd-23379e589d5f
2458
2458
  body:
2459
2459
  encoding: US-ASCII
2460
2460
  string: ''
@@ -2481,27 +2481,27 @@ http_interactions:
2481
2481
  Cache-Control:
2482
2482
  - no-cache
2483
2483
  X-Request-Id:
2484
- - f62ff72c-1c6c-40cb-9792-38be7936d3b4
2484
+ - 03c000b4-4a58-4fcd-a36c-3fd8b3f14e2a
2485
2485
  X-Runtime:
2486
- - '0.228517'
2486
+ - '0.335240'
2487
2487
  Server:
2488
2488
  - WEBrick/1.3.1 (Ruby/2.2.2/2015-04-13)
2489
2489
  Date:
2490
- - Wed, 13 May 2015 22:29:45 GMT
2490
+ - Mon, 18 May 2015 20:06:13 GMT
2491
2491
  Connection:
2492
2492
  - Keep-Alive
2493
2493
  Set-Cookie:
2494
- - _internal_session=MzF4cTY0UW5Hd2taVXdFbkZjQW1rSjdGQnZpaG03MDJBSjJybXVRTU5kYTkyR0xoMnlOZDBUTTQ4aW5RSzNBNmM1aytXc2tjaXZ5K1Z0d0tzSkFLV2NLWlIrSjFDOHp2eUFNNXpOUEVzelBNVzY2cjB6WEtLU0tOODNGUlRwSUlYdEkzY2ZPK2YwRHNBdXB2dVZ5R3ZrdHpLdW1OQ3V3eERwVHJCSU9Ld2RTZjJBbEdoR0ZJWEZYRCt4cnc5L2tULS1JR1pFUFNsOEt0QTRaaTZHVm9HcEFBPT0%3D--a1937ace0911c70d94ecc82a342790a55dc4bf83;
2494
+ - _internal_session=V2NlSE1iNk1HWXVSV3N1R3grbVhmMnhJRG5tZ3U0c0gwL0hzS2huY296SVdFQzQyMS84bkI2SkJoQ1IzYjRVSlFnc0dEeHZQckRIZW1WUW1iL0Rub1VhYWl1T2VGVDJhMDJUUUZWQWVIK2wxaTRSSmZkTzNvMWlrblFCYTVySlVvRlJhUG13aitwcysyZ1M0N3lFNXN0MTE4MzZOaWpLclZPQXg2L0RRTVZuZUZxV1ptRlVTSGtJU0xnd3hhRUJGLS05RUZrQlliZm5uZWwxWFBYVnc2RW5nPT0%3D--ee46b065a795650980b3ba3d316ac447ea1b77c7;
2495
2495
  path=/; HttpOnly
2496
2496
  - request_method=DELETE; path=/
2497
2497
  body:
2498
2498
  encoding: UTF-8
2499
2499
  string: ''
2500
2500
  http_version:
2501
- recorded_at: Wed, 13 May 2015 22:29:45 GMT
2501
+ recorded_at: Mon, 18 May 2015 20:06:13 GMT
2502
2502
  - request:
2503
2503
  method: get
2504
- uri: http://localhost:3000/annotations/c0%2F2d%2F6d%2F79%2Fc02d6d79-5d33-4f3d-8c86-303a84968852
2504
+ uri: http://localhost:3000/annotations/b5%2F85%2F9d%2Fa3%2Fb5859da3-768d-4607-b3bd-23379e589d5f
2505
2505
  body:
2506
2506
  encoding: US-ASCII
2507
2507
  string: ''
@@ -2528,22 +2528,22 @@ http_interactions:
2528
2528
  Cache-Control:
2529
2529
  - no-cache
2530
2530
  X-Request-Id:
2531
- - 1b601030-9c91-474e-a3ee-5d5c0c29582a
2531
+ - 2ca3f6fa-bb40-45cb-b96b-c1022412e42f
2532
2532
  X-Runtime:
2533
- - '0.018809'
2533
+ - '0.039992'
2534
2534
  Server:
2535
2535
  - WEBrick/1.3.1 (Ruby/2.2.2/2015-04-13)
2536
2536
  Date:
2537
- - Wed, 13 May 2015 22:29:45 GMT
2537
+ - Mon, 18 May 2015 20:06:13 GMT
2538
2538
  Content-Length:
2539
2539
  - '272'
2540
2540
  Connection:
2541
2541
  - Keep-Alive
2542
2542
  body:
2543
2543
  encoding: UTF-8
2544
- string: "<h2>error getting c0/2d/6d/79/c02d6d79-5d33-4f3d-8c86-303a84968852
2545
- from LDP</h2>Discovered tombstone resource at /anno/c0/2d/6d/79/c02d6d79-5d33-4f3d-8c86-303a84968852
2546
- {jcr:createdBy=bypassAdmin, jcr:primaryType=fedora:Tombstone, jcr:created=2015-05-13T15:29:45.338-07:00}"
2544
+ string: "<h2>error getting b5/85/9d/a3/b5859da3-768d-4607-b3bd-23379e589d5f
2545
+ from LDP</h2>Discovered tombstone resource at /anno/b5/85/9d/a3/b5859da3-768d-4607-b3bd-23379e589d5f
2546
+ {jcr:createdBy=bypassAdmin, jcr:primaryType=fedora:Tombstone, jcr:created=2015-05-18T13:06:13.562-07:00}"
2547
2547
  http_version:
2548
- recorded_at: Wed, 13 May 2015 22:29:45 GMT
2548
+ recorded_at: Mon, 18 May 2015 20:06:13 GMT
2549
2549
  recorded_with: VCR 2.9.3