DRAFT
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 content preservation in an asynchronous deep archive.
Repository Gateway API
PUT Object (deposit)
Description
Create a gateway object for preservation of an Object from the repository.
Requests/Responses
Request:
PUT /ObjectId HTTP/1.1
- Request Body: Compressed Bag
- Request Headers:
Content-Type
Content-Length
Response Codes:
201 Created
(on success)
Examples
Successful Creation
PUT /af48c3d HTTP/1.1Host: preservation-gateway.institution.eduDate: Tue, 02 Jul 2019 20:15:00 GMTContent-Type: application/zipContent-Length: 493285Content-MD5: 4efcb3d98ce0fabfd585eb6c4332859493285 bytes of object data
Question
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
Question
Bag profiles?
Write up something about ObjectID semantics and repository reconstruction.
GET Object Audit
Description
Retrieve audit metadata for the object.
Requests/Responses
Request:
GET /ObjectId/audit HTTP/1.1
- Request Body: n/a
- Response Code:
200 OK
Response Body:
JSON response body{ ddp_name: { preserved: true destroy_requested: true } }
DELETE Object (destroy)
Description
Request removal of a Bag Object and all its contents
Requests/Responses
Request:
DELETE /ObjectId HTTP/1.1
- Request Body: n/a
- Response Code:
204 No Content
POST Object Restore
Description
Request restore of a Bag Object and all its contents for later retrieval
Requests/Responses
Request:
POST /ObjectId?restore HTTP/1.1
- Request Body: n/a
- Response Code:
202 Accepted
(if the object is not already restored)200 OK
(if the object is already restored and available for retrieval)
Question
Can HTTP Range requests be used to retrieve individual files (e.g. metadata)
GET Object (retrieve)
Description
Retrieve a restored object.
Requests/Responses
Request:
GET /ObjectId HTTP/1.1
- Request Body: n/a
- Response Code:
200 OK
(if the object is restored available)403 ForbiddenÂ
(if the object has not been restored)
- Response Body: Compressed bag
- Response Headers:
- Content-Type
Question
Can HTTP Range requests be used to retrieve individual files (e.g. metadata)