Fix example Content-Type for /media/upload request

Fixes https://github.com/matrix-org/matrix-doc/issues/1770
pull/977/head
Travis Ralston 6 years ago
parent 699cafe670
commit 62890d21b2

@ -41,7 +41,7 @@ paths:
name: Content-Type name: Content-Type
type: string type: string
description: The content type of the file being uploaded description: The content type of the file being uploaded
x-example: "Content-Type: audio/mpeg" x-example: "Content-Type: application/pdf"
- in: query - in: query
type: string type: string
x-example: "War and Peace.pdf" x-example: "War and Peace.pdf"
@ -51,6 +51,7 @@ paths:
name: "<content>" name: "<content>"
description: The content to be uploaded. description: The content to be uploaded.
required: true required: true
x-example: "<bytes>" # so the spec shows "<bytes>" without quotes.
schema: schema:
type: string type: string
example: "<bytes>" example: "<bytes>"

@ -0,0 +1 @@
Fix example ``Content-Type`` for ``/media/upload`` request.

@ -521,6 +521,7 @@ class MatrixUnits(Units):
path_template = path path_template = path
example_query_params = [] example_query_params = []
example_body = "" example_body = ""
example_mime = "application/json"
for param in endpoint_swagger.get("parameters", []): for param in endpoint_swagger.get("parameters", []):
# even body params should have names, otherwise the active docs don't work. # even body params should have names, otherwise the active docs don't work.
param_name = param["name"] param_name = param["name"]
@ -533,6 +534,10 @@ class MatrixUnits(Units):
example_body = get_example_for_param(param) example_body = get_example_for_param(param)
continue continue
if param_loc == "header":
if param["name"] == "Content-Type" and param["x-example"]:
example_mime = param["x-example"]
# description # description
desc = param.get("description", "") desc = param.get("description", "")
if param.get("required"): if param.get("required"):
@ -610,8 +615,8 @@ class MatrixUnits(Units):
example_query_params) example_query_params)
if example_body: if example_body:
endpoint["example"][ endpoint["example"][
"req"] = "%s %s%s HTTP/1.1\nContent-Type: application/json\n\n%s" % ( "req"] = "%s %s%s HTTP/1.1\nContent-Type: %s\n\n%s" % (
method.upper(), path_template, query_string, example_body method.upper(), path_template, query_string, example_mime, example_body
) )
else: else:
endpoint["example"]["req"] = "%s %s%s HTTP/1.1\n\n" % ( endpoint["example"]["req"] = "%s %s%s HTTP/1.1\n\n" % (

Loading…
Cancel
Save