fix: issues with har generation
This commit is contained in:
@@ -96,6 +96,7 @@ import {
|
|||||||
CodegenName,
|
CodegenName,
|
||||||
generateCode,
|
generateCode,
|
||||||
} from "~/helpers/new-codegen"
|
} from "~/helpers/new-codegen"
|
||||||
|
import { makeRESTRequest } from "~/../hoppscotch-data/dist"
|
||||||
|
|
||||||
const t = useI18n()
|
const t = useI18n()
|
||||||
|
|
||||||
@@ -118,13 +119,27 @@ const errorState = ref(false)
|
|||||||
|
|
||||||
const requestCode = computed(() => {
|
const requestCode = computed(() => {
|
||||||
const effectiveRequest = getEffectiveRESTRequest(
|
const effectiveRequest = getEffectiveRESTRequest(
|
||||||
request.value as any,
|
request.value,
|
||||||
getCurrentEnvironment()
|
getCurrentEnvironment()
|
||||||
)
|
)
|
||||||
|
|
||||||
if (!props.show) return ""
|
if (!props.show) return ""
|
||||||
|
|
||||||
const result = generateCode(codegenType.value, effectiveRequest)
|
const result = generateCode(
|
||||||
|
codegenType.value,
|
||||||
|
makeRESTRequest({
|
||||||
|
...effectiveRequest,
|
||||||
|
headers: effectiveRequest.effectiveFinalHeaders.map((header) => ({
|
||||||
|
...header,
|
||||||
|
active: true,
|
||||||
|
})),
|
||||||
|
params: effectiveRequest.effectiveFinalParams.map((param) => ({
|
||||||
|
...param,
|
||||||
|
active: true,
|
||||||
|
})),
|
||||||
|
endpoint: effectiveRequest.effectiveFinalURL,
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
if (O.isSome(result)) {
|
if (O.isSome(result)) {
|
||||||
errorState.value = false
|
errorState.value = false
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import * as Har from "har-format"
|
|||||||
import { HoppRESTRequest } from "@hoppscotch/data"
|
import { HoppRESTRequest } from "@hoppscotch/data"
|
||||||
import { FieldEquals, objectFieldIncludes } from "../typeutils"
|
import { FieldEquals, objectFieldIncludes } from "../typeutils"
|
||||||
|
|
||||||
// We support HAR Spec 1.2
|
// Hoppscotch support HAR Spec 1.2
|
||||||
// For more info on the spec: http://www.softwareishard.com/blog/har-12-spec/
|
// For more info on the spec: http://www.softwareishard.com/blog/har-12-spec/
|
||||||
|
|
||||||
const buildHarHeaders = (req: HoppRESTRequest): Har.Header[] => {
|
const buildHarHeaders = (req: HoppRESTRequest): Har.Header[] => {
|
||||||
@@ -69,9 +69,6 @@ const buildHarPostParams = (
|
|||||||
const buildHarPostData = (req: HoppRESTRequest): Har.PostData | undefined => {
|
const buildHarPostData = (req: HoppRESTRequest): Har.PostData | undefined => {
|
||||||
if (!req.body.contentType) return undefined
|
if (!req.body.contentType) return undefined
|
||||||
|
|
||||||
if (!objectFieldIncludes(req, "method", ["POST", "PUT"] as const))
|
|
||||||
return undefined
|
|
||||||
|
|
||||||
if (
|
if (
|
||||||
objectFieldIncludes(req.body, "contentType", [
|
objectFieldIncludes(req.body, "contentType", [
|
||||||
"application/x-www-form-urlencoded",
|
"application/x-www-form-urlencoded",
|
||||||
@@ -82,13 +79,11 @@ const buildHarPostData = (req: HoppRESTRequest): Har.PostData | undefined => {
|
|||||||
mimeType: req.body.contentType, // By default assume JSON ?
|
mimeType: req.body.contentType, // By default assume JSON ?
|
||||||
params: buildHarPostParams(req as any),
|
params: buildHarPostParams(req as any),
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
if (!req.body.contentType) return undefined
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
mimeType: req.body.contentType, // Let's assume by default content type is JSON
|
mimeType: req.body.contentType, // Let's assume by default content type is JSON
|
||||||
text: req.body.body,
|
text: req.body.body,
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user