commit
163c8127fb
|
@ -56,6 +56,7 @@ const _import = async (ctx: any) => {
|
|||
config: {
|
||||
url: info.url,
|
||||
defaultHeaders: [],
|
||||
rejectUnauthorized: true,
|
||||
},
|
||||
name: info.name,
|
||||
}
|
||||
|
|
|
@ -78,16 +78,11 @@ const SCHEMA: Integration = {
|
|||
default: {},
|
||||
},
|
||||
rejectUnauthorized: {
|
||||
display: "Reject Unauthorized",
|
||||
type: DatasourceFieldType.BOOLEAN,
|
||||
default: true,
|
||||
required: false,
|
||||
},
|
||||
legacyHttpParser: {
|
||||
display: "Legacy HTTP Support",
|
||||
type: DatasourceFieldType.BOOLEAN,
|
||||
required: false,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
query: {
|
||||
create: {
|
||||
|
@ -397,6 +392,7 @@ class RestIntegration implements IntegrationBase {
|
|||
})
|
||||
}
|
||||
|
||||
// Deprecated by rejectUnauthorized
|
||||
if (this.config.legacyHttpParser) {
|
||||
// https://github.com/nodejs/node/issues/43798
|
||||
input.extraHttpOptions = { insecureHTTPParser: true }
|
||||
|
|
|
@ -1,17 +1,16 @@
|
|||
jest.mock("node-fetch", () =>
|
||||
jest.fn(() => ({
|
||||
headers: {
|
||||
raw: () => {
|
||||
return { "content-type": ["application/json"] }
|
||||
},
|
||||
get: () => ["application/json"],
|
||||
const mockFetch = jest.fn(() => ({
|
||||
headers: {
|
||||
raw: () => {
|
||||
return { "content-type": ["application/json"] }
|
||||
},
|
||||
json: jest.fn(() => ({
|
||||
my_next_cursor: 123,
|
||||
})),
|
||||
text: jest.fn(),
|
||||
}))
|
||||
)
|
||||
get: () => ["application/json"],
|
||||
},
|
||||
json: jest.fn(() => ({
|
||||
my_next_cursor: 123,
|
||||
})),
|
||||
text: jest.fn(),
|
||||
}))
|
||||
jest.mock("node-fetch", () => mockFetch)
|
||||
import fetch from "node-fetch"
|
||||
import { default as RestIntegration } from "../rest"
|
||||
const FormData = require("form-data")
|
||||
|
@ -572,4 +571,21 @@ describe("REST Integration", () => {
|
|||
})
|
||||
})
|
||||
})
|
||||
|
||||
it("Attaches custom agent when Reject Unauthorized option is false", async () => {
|
||||
config = new TestConfiguration({
|
||||
url: BASE_URL,
|
||||
rejectUnauthorized: false,
|
||||
})
|
||||
await config.integration.read({})
|
||||
|
||||
const calls: any = mockFetch.mock.calls[0]
|
||||
const url = calls[0]
|
||||
expect(url).toBe(`${BASE_URL}/`)
|
||||
|
||||
const calledConfig = calls[1]
|
||||
expect(calledConfig.method).toBe("GET")
|
||||
expect(calledConfig.headers).toEqual({})
|
||||
expect(calledConfig.agent.options.rejectUnauthorized).toBe(false)
|
||||
})
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue