-
+
-
+
-
-
- {{ $t("empty.headers") }}
-
-
+
+
+
+
+
+
+
+
+
+ {{ $t("empty.headers") }}
+
+
+
@@ -311,6 +364,25 @@ export default defineComponent({
const t = i18n.t.bind(i18n)
const nuxt = useNuxt()
+ const bulkMode = ref(false)
+ const bulkHeaders = ref("")
+
+ watch(bulkHeaders, () => {
+ try {
+ const transformation = bulkHeaders.value.split("\n").map((item) => ({
+ key: item.substring(0, item.indexOf(":")).trim().replace(/^\/\//, ""),
+ value: item.substring(item.indexOf(":") + 1).trim(),
+ active: !item.trim().startsWith("//"),
+ }))
+ setGQLHeaders(transformation)
+ } catch (e) {
+ $toast.error(t("error.something_went_wrong").toString(), {
+ icon: "error_outline",
+ })
+ console.error(e)
+ }
+ })
+
const url = useReadonlyStream(gqlURL$, "")
const gqlQueryString = useStream(gqlQuery$, "", setGQLQuery)
const variableString = useStream(gqlVariables$, "", setGQLVariables)
@@ -475,6 +547,8 @@ export default defineComponent({
commonHeaders,
updateGQLHeader,
+ bulkMode,
+ bulkHeaders,
}
},
})
diff --git a/components/http/Headers.vue b/components/http/Headers.vue
index 924a2fdd3..3294219b8 100644
--- a/components/http/Headers.vue
+++ b/components/http/Headers.vue
@@ -28,139 +28,185 @@
v-tippy="{ theme: 'tooltip' }"
:title="$t('action.clear_all')"
svg="trash-2"
+ :disabled="bulkMode"
@click.native="clearContent"
/>
+