mirror of
https://gh-proxy.org/https://github.com/klinsmaya/gateway.git
synced 2026-11-10 10:07:26 +08:00
34 lines
814 B
TypeScript
34 lines
814 B
TypeScript
import { PluginContext, PluginHandler, PluginParameters } from '../types';
|
|
import { post } from '../utils';
|
|
|
|
function parseHeaders(headers: unknown): Record<string, string> {
|
|
if (typeof headers === 'object' && headers !== null) {
|
|
return headers as Record<string, string>;
|
|
}
|
|
if (typeof headers === 'string') {
|
|
return JSON.parse(headers);
|
|
}
|
|
return {};
|
|
}
|
|
|
|
export const handler: PluginHandler = async (
|
|
context: PluginContext,
|
|
parameters: PluginParameters
|
|
) => {
|
|
let error = null;
|
|
let verdict = false;
|
|
let data = null;
|
|
try {
|
|
let url = parameters.webhookURL;
|
|
|
|
const headers = parseHeaders(parameters.headers);
|
|
|
|
({ verdict, data } = await post(url, context, { headers }, 3000));
|
|
} catch (e: any) {
|
|
delete e.stack;
|
|
error = e;
|
|
}
|
|
|
|
return { error, verdict, data };
|
|
};
|