Merge pull request #931 from AndrewBastin/feat/disable-non-json-download

This commit is contained in:
Liyas Thomas
2020-06-11 09:15:46 +05:30
committed by GitHub
2 changed files with 24 additions and 6 deletions

View File

@@ -9,9 +9,19 @@ export const knownContentTypes = [
]
export function isJSONContentType(contentType) {
return (
contentType === "application/json" ||
contentType === "application/vnd.api+json" ||
contentType === "application/hal+json"
)
if (contentType.includes(";")) {
const [justContentType] = contentType.split(";")
return (
justContentType === "application/json" ||
justContentType === "application/vnd.api+json" ||
justContentType === "application/hal+json"
)
} else {
return (
contentType === "application/json" ||
contentType === "application/vnd.api+json" ||
contentType === "application/hal+json"
)
}
}

View File

@@ -973,7 +973,7 @@
class="icon"
@click="downloadResponse"
ref="downloadResponse"
v-if="response.body"
v-if="response.body && canDownloadResponse"
v-tooltip="$t('download_file')"
>
<i class="material-icons">get_app</i>
@@ -1612,6 +1612,14 @@ export default {
isJSONContentType(this.contentType)
)
},
canDownloadResponse() {
return (
this.response &&
this.response.headers &&
this.response.headers["content-type"] &&
isJSONContentType(this.response.headers["content-type"])
)
},
uri: {
get() {
return this.$store.state.request.uri ? this.$store.state.request.uri : this.url + this.path