|
|
@ -100,11 +100,74 @@ paths:
|
|
|
|
"$ref": "definitions/errors/rate_limited.yaml"
|
|
|
|
"$ref": "definitions/errors/rate_limited.yaml"
|
|
|
|
tags:
|
|
|
|
tags:
|
|
|
|
- Media
|
|
|
|
- Media
|
|
|
|
"/download/{serverName}/{mediaId}/{fileName}":
|
|
|
|
"/download/{serverName}/{mediaId}":
|
|
|
|
get:
|
|
|
|
get:
|
|
|
|
summary: "Download content from the content repository."
|
|
|
|
summary: "Download content from the content repository."
|
|
|
|
operationId: getContent
|
|
|
|
operationId: getContent
|
|
|
|
produces: ["*/*"]
|
|
|
|
produces: ["*/*"]
|
|
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
|
|
- in: path
|
|
|
|
|
|
|
|
type: string
|
|
|
|
|
|
|
|
name: serverName
|
|
|
|
|
|
|
|
x-example: matrix.org
|
|
|
|
|
|
|
|
required: true
|
|
|
|
|
|
|
|
description: |
|
|
|
|
|
|
|
|
The server name from the ``mxc://`` URI (the authoritory component)
|
|
|
|
|
|
|
|
- in: path
|
|
|
|
|
|
|
|
type: string
|
|
|
|
|
|
|
|
name: mediaId
|
|
|
|
|
|
|
|
x-example: ascERGshawAWawugaAcauga
|
|
|
|
|
|
|
|
required: true
|
|
|
|
|
|
|
|
description: |
|
|
|
|
|
|
|
|
The media ID from the ``mxc://`` URI (the path component)
|
|
|
|
|
|
|
|
- in: query
|
|
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
|
|
name: allow_remote
|
|
|
|
|
|
|
|
x-example: false
|
|
|
|
|
|
|
|
required: false
|
|
|
|
|
|
|
|
default: true
|
|
|
|
|
|
|
|
description: |
|
|
|
|
|
|
|
|
Indicates to the server that it should not attempt to fetch the media if it is deemed
|
|
|
|
|
|
|
|
remote. This is to prevent routing loops where the server contacts itself. Defaults to
|
|
|
|
|
|
|
|
true if not provided.
|
|
|
|
|
|
|
|
responses:
|
|
|
|
|
|
|
|
200:
|
|
|
|
|
|
|
|
description: "The content that was previously uploaded."
|
|
|
|
|
|
|
|
headers:
|
|
|
|
|
|
|
|
Content-Type:
|
|
|
|
|
|
|
|
description: "The content type of the file that was previously uploaded."
|
|
|
|
|
|
|
|
type: "string"
|
|
|
|
|
|
|
|
Content-Disposition:
|
|
|
|
|
|
|
|
description: |-
|
|
|
|
|
|
|
|
The name of the file that was previously uploaded, if set.
|
|
|
|
|
|
|
|
type: "string"
|
|
|
|
|
|
|
|
schema:
|
|
|
|
|
|
|
|
type: file
|
|
|
|
|
|
|
|
# This is a workaround for us not being able to say the response is required.
|
|
|
|
|
|
|
|
description: "**Required.** The bytes for the uploaded file."
|
|
|
|
|
|
|
|
502:
|
|
|
|
|
|
|
|
description: |-
|
|
|
|
|
|
|
|
The content is too large for the server to serve.
|
|
|
|
|
|
|
|
examples:
|
|
|
|
|
|
|
|
application/json: {
|
|
|
|
|
|
|
|
"errcode": "M_TOO_LARGE",
|
|
|
|
|
|
|
|
"error": "Content is too large to serve"
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
schema:
|
|
|
|
|
|
|
|
"$ref": "definitions/errors/error.yaml"
|
|
|
|
|
|
|
|
429:
|
|
|
|
|
|
|
|
description: This request was rate-limited.
|
|
|
|
|
|
|
|
schema:
|
|
|
|
|
|
|
|
"$ref": "definitions/errors/rate_limited.yaml"
|
|
|
|
|
|
|
|
tags:
|
|
|
|
|
|
|
|
- Media
|
|
|
|
|
|
|
|
"/download/{serverName}/{mediaId}/{fileName}":
|
|
|
|
|
|
|
|
get:
|
|
|
|
|
|
|
|
summary: |-
|
|
|
|
|
|
|
|
Download content from the content repository. This is the same as
|
|
|
|
|
|
|
|
the download endpoint above, except permitting a desired file name.
|
|
|
|
|
|
|
|
operationId: getContentOverrideName
|
|
|
|
|
|
|
|
produces: ["*/*"]
|
|
|
|
parameters:
|
|
|
|
parameters:
|
|
|
|
- in: path
|
|
|
|
- in: path
|
|
|
|
type: string
|
|
|
|
type: string
|
|
|
@ -124,7 +187,8 @@ paths:
|
|
|
|
type: string
|
|
|
|
type: string
|
|
|
|
name: fileName
|
|
|
|
name: fileName
|
|
|
|
x-example: filename.jpg
|
|
|
|
x-example: filename.jpg
|
|
|
|
description: An optional filename to give in the ``Content-Disposition`` header.
|
|
|
|
required: true
|
|
|
|
|
|
|
|
description: A filename to give in the ``Content-Disposition`` header.
|
|
|
|
- in: query
|
|
|
|
- in: query
|
|
|
|
type: boolean
|
|
|
|
type: boolean
|
|
|
|
name: allow_remote
|
|
|
|
name: allow_remote
|
|
|
|