mirror of
https://github.com/farcasclaudiu/Flowise.git
synced 2026-06-29 01:01:11 +03:00
add MakeWebhook
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
import axios, { AxiosRequestConfig, Method } from 'axios'
|
||||
import { Tool } from 'langchain/tools'
|
||||
import { ICommonObject } from '../../../src/Interface'
|
||||
|
||||
export class MakeWebhookTool extends Tool {
|
||||
private url: string
|
||||
|
||||
name: string
|
||||
|
||||
description: string
|
||||
|
||||
method: string
|
||||
|
||||
headers: ICommonObject
|
||||
|
||||
constructor(url: string, description: string, method = 'POST', headers: ICommonObject = {}) {
|
||||
super()
|
||||
this.url = url
|
||||
this.name = 'make_webhook'
|
||||
this.description = description ?? `useful for when you need to execute tasks on Make`
|
||||
this.method = method
|
||||
this.headers = headers
|
||||
}
|
||||
|
||||
async _call(): Promise<string> {
|
||||
try {
|
||||
const axiosConfig: AxiosRequestConfig = {
|
||||
method: this.method as Method,
|
||||
url: this.url,
|
||||
headers: {
|
||||
...this.headers,
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
}
|
||||
const response = await axios(axiosConfig)
|
||||
return typeof response.data === 'object' ? JSON.stringify(response.data) : response.data
|
||||
} catch (error) {
|
||||
throw new Error(`HTTP error ${error}`)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user