Skip to content

Commit 1254550

Browse files
authored
Merge pull request #1 from didzis/audio-blob-playback
Fix audio response playback for non-GET requests (Reproduction swagger-api#10228)
2 parents 71c9314 + befe0b5 commit 1254550

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

src/core/components/live-response.jsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,8 @@ export default class LiveResponse extends React.Component {
109109
: null
110110
}
111111
{
112-
body ? <ResponseBody content={ body }
112+
body ? <ResponseBody method={ method }
113+
content={ body }
113114
contentType={ contentType }
114115
url={ url }
115116
headers={ headers }

src/core/components/response-body.jsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export default class ResponseBody extends React.PureComponent {
1212
}
1313

1414
static propTypes = {
15+
method: PropTypes.string,
1516
content: PropTypes.any.isRequired,
1617
contentType: PropTypes.string,
1718
getComponent: PropTypes.func.isRequired,
@@ -50,7 +51,7 @@ export default class ResponseBody extends React.PureComponent {
5051
}
5152

5253
render() {
53-
let { content, contentType, url, headers={}, getComponent } = this.props
54+
let { method, content, contentType, url, headers={}, getComponent } = this.props
5455
const { parsedContent } = this.state
5556
const HighlightCode = getComponent("HighlightCode", true)
5657
const downloadName = "response_" + new Date().getTime()
@@ -135,6 +136,9 @@ export default class ResponseBody extends React.PureComponent {
135136

136137
// Audio
137138
} else if (/^audio\//i.test(contentType)) {
139+
if (method !== "get") {
140+
url = window.URL.createObjectURL(content)
141+
}
138142
bodyEl = <pre className="microlight"><audio controls key={ url }><source src={ url } type={ contentType } /></audio></pre>
139143
} else if (typeof content === "string") {
140144
bodyEl = <HighlightCode downloadable fileName={`${downloadName}.txt`} canCopy>{content}</HighlightCode>

0 commit comments

Comments
 (0)