The preservation Gateway functions as an aggregating cache for preservation requests originating with a repository and destined for a DDP via the OTM Bridge. This allows repositories to synchronously send contentpreservation in an asynchronous deep archive.
Repository Gateway API
PUT Object (deposit)
Description
Create or update a gateway object for preservation of an Object from the repository.
Requests/Responses
Examples
Create an Object
Code Block |
---|
|
PUT /af48c3d HTTP/1.1
Host: preservation-gateway.institution.edu
Date: Tue, 02 Jul 2019 20:15:00 GMT
Content-Type: application/zip
Content-Length: 493285
Content-MD5: 4efcb3d98ce0fabfd585eb6c4332859
[493285 bytes of object data] |
Code Block |
---|
|
HTTP/1.1 201 Created
Date: Tue, 02 Jul 2019 20:15:00 GMT
ETag: "4efcb3d98ce0fabfd585eb6c4332859"
Content-Length: 0
Server: OTM Preservation Gateway |
Info |
---|
|
Holy Bags? For large file deposit. - i don't want to push this content over the network and/or - i don't want to store it on a Gateway accessible disk |
Info |
---|
Write up something about ObjectID semantics and repository reconstruction. |
GET Object Audit
Description
Retrieve audit metadata for the object.
Requests/Responses
DELETE Object (destroy)
Description
Request removal of an Object and all its contents from the archive
Requests/Responses
Examples
Destroy an Object
Code Block |
---|
|
DELETE /af48c3d HTTP/1.1
Host: preservation-gateway.institution.edu
Date: Tue, 02 Jul 2019 20:25:00 GMT
Content-Type: text/plain |
Code Block |
---|
|
HTTP/1.1 204 NoContent
Date: Tue, 02 Jul 2019 20:25:00 GMT
Content-Length: 0
Server: OTM Preservation Gateway |
POST Object Restore
Description
Request restore of a Bag Object and all its contents for later retrieval
Requests/Responses
Examples
Restore an Object
Code Block |
---|
|
POST /af48c3d?restore HTTP/1.1
Host: preservation-gateway.institution.edu
Date: Tue, 02 Jul 2019 20:35:00 GMT
Content-Length: 0 |
Code Block |
---|
|
HTTP/1.1 202 Accepted
Date: Tue, 02 Jul 2019 20:35:00 GMT
Content-Length: 0
Server: OTM Preservation Gateway |
Requesting a Restore on an Object that is Available
Code Block |
---|
|
POST /af48c3d?restore HTTP/1.1
Host: preservation-gateway.institution.edu
Date: Tue, 02 Jul 2019 20:35:00 GMT
Content-Length: 0 |
Code Block |
---|
|
HTTP/1.1 200 OK
Date: Tue, 02 Jul 2019 20:35:00 GMT
Content-Length: 0
Server: OTM Preservation Gateway |
ERROR: Restore Already in Progress
Code Block |
---|
|
POST /af48c3d?restore HTTP/1.1
Host: preservation-gateway.institution.edu
Date: Tue, 02 Jul 2019 20:35:00 GMT
Content-Length: 0 |
Code Block |
---|
|
HTTP/1.1 409 Conflict
Date: Tue, 02 Jul 2019 20:35:00 GMT
Content-Type: application/xml
Server: OTM Preservation Gateway
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>RestoreAlreadyInProgress</Code>
<Message>Object restore is already in progress.</Message>
<Resource>/af48c3d</Resource>
</Error> |
Code Block |
---|
|
HTTP/1.1 409 Conflict
Date: Tue, 02 Jul 2019 20:35:00 GMT
Content-Type: application/xml
Server: OTM Preservation Gateway
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>RestoreAlreadyInProgress</Code>
<Message>Object restore is already in progress.</Message>
<Resource>/af48c3d</Resource>
</Error> |
Info |
---|
|
Can HTTP Range requests be used to retrieve individual files (e.g. metadata) |
GET Object (retrieve)
Description
Retrieve a restored object.
Requests/Responses
Examples
Retrieve an Object
Code Block |
---|
|
GET /af48c3d HTTP/1.1
Host: preservation-gateway.institution.edu
Date: Tue, 02 Jul 2019 20:45:00 GMT
Content-Length: 0 |
Code Block |
---|
|
HTTP/1.1 200 OK
Date: Tue, 02 Jul 2019 20:45:00 GMT
ETag: "4efcb3d98ce0fabfd585eb6c4332859"
Content-Length: 493285
Content-Type: application/zip
Server: OTM Preservation Gateway
[493285 bytes of object data] |
ERROR: Retrieval of an Unavailable Object
Code Block |
---|
|
GET /af48c3d HTTP/1.1
Host: preservation-gateway.institution.edu
Date: Tue, 02 Jul 2019 20:45:00 GMT
Content-Length: 0 |
Code Block |
---|
|
HTTP/1.1 403 Forbidden
Date: Tue, 02 Jul 2019 20:45:00 GMT
ETag: "4efcb3d98ce0fabfd585eb6c4332859"
Content-Type: application/xml
Server: OTM Preservation Gateway
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>InvalidObjectState</Code>
<Message>The Object is not available </Message>
<Resource>/af48c3d</Resource>
</Error> |
Info |
---|
|
Can HTTP Range requests be used to retrieve individual files (e.g. metadata) |
Authentication
Repository Client Authorization
Authentication with the OTM Bridge
Bridge Interactions
GET File (transfer)
Description
Transfer a cached file. This endpoint allows a Bridge to pull content for storage in a preservation service.
Requests/Responses
- Request:
GET /ObjectId/fileName HTTP/1.1
- Request Headers
- Response Code:
- Response Body: file contents
- Response Headers: