mirror of https://github.com/hzrd149/blossom.git
bud-12: media servers information document.
This commit is contained in:
parent
d5225114af
commit
12915e8870
|
@ -41,6 +41,8 @@ Blossom Servers expose a few endpoints for managing blobs
|
|||
|
||||
- `PUT /report` [BUD-09](./buds/09.md)
|
||||
|
||||
- `GET /information` [BUD-09](./buds/10.md)
|
||||
|
||||
## Protocol specification (BUDs)
|
||||
|
||||
BUDs stand for **Blossom Upgrade Documents**.
|
||||
|
@ -57,6 +59,7 @@ See the [BUDs](./buds) folder and specifically [BUD-01](./buds/01.md) and [BUD-0
|
|||
- [BUD-06: Upload requirements](./buds/06.md)
|
||||
- [BUD-08: Nostr File Metadata Tags](./buds/08.md)
|
||||
- [BUD-09: Blob Report](./buds/09.md)
|
||||
- [BUD-12: Media servers information document](./buds/12.md)
|
||||
|
||||
## Event kinds
|
||||
|
||||
|
|
|
@ -0,0 +1,64 @@
|
|||
# BUD-12
|
||||
|
||||
## Media servers information document
|
||||
|
||||
`draft` `optional`
|
||||
|
||||
## Abstract
|
||||
|
||||
This bud defines a new endpoint that helps media servers to provide information about themselves to clients. The clients CAN show it to user or use it to check if the media is suitable for some specific action.
|
||||
|
||||
### GET /information - get media server information document
|
||||
|
||||
The media server MUST provide this route which returns the document defined below. No specific body or header is required.
|
||||
|
||||
#### Standard fields
|
||||
|
||||
Here is a list of standard fields that a server SHOULD return.
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "<a name to identify server>",
|
||||
"description": "<detailed arbitrary information>",
|
||||
"banner": "<a link to an image (e.g. in .jpg, or .png format)>",
|
||||
"icon": "<a link to an icon (e.g. in .jpg, or .png format>",
|
||||
"pubkey": "<administrative contact nostr pubkey>",
|
||||
"contact": "<administrative alternate contact (e.g. mailto:email, https://website and more.)>",
|
||||
"supported_buds": <an array of BUD numbers supported by the media server>,
|
||||
"software": "<media server software URL or name>",
|
||||
"uploading_policy": "<a URL to uploading policy homepage>",
|
||||
"version": "<software version>"
|
||||
}
|
||||
```
|
||||
|
||||
More fields may be used:
|
||||
|
||||
##### Server Limitations
|
||||
|
||||
A list of limitations for clients:
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"limitation": {
|
||||
"max_blob_size": 1e9, // in bytes.
|
||||
"<method>_auth_required": true,
|
||||
"<method>_payment_required": true,
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
##### Accepted mime-types
|
||||
|
||||
```json
|
||||
{
|
||||
"accepted_mime_types": <an array of mime-types in string>
|
||||
}
|
||||
```
|
||||
|
||||
This is a list of mime-types that media server accepts for upload and download.
|
||||
A list of mime types can be found [here](https://developer.mozilla.org/en-US/docs/Web/HTTP/MIME_types/Common_types).
|
||||
|
||||
#### Extra fields
|
||||
|
||||
A server MAY return extra information as well to the client and clients MAY show them in pure json.
|
||||
A widely used field can append to above standard list.
|
Loading…
Reference in New Issue