kopia lustrzana https://github.com/transitive-bullshit/chatgpt-api
45 wiersze
925 B
TypeScript
45 wiersze
925 B
TypeScript
import 'dotenv/config'
|
|
|
|
import defaultKy, {
|
|
type AfterResponseHook,
|
|
type BeforeRequestHook,
|
|
type KyInstance
|
|
} from 'ky'
|
|
|
|
const AGENTIC_TEST_MOCK_HEADER = 'x-agentic-test-mock'
|
|
|
|
function defaultBeforeRequest(request: Request): Response {
|
|
return new Response(
|
|
JSON.stringify({
|
|
url: request.url,
|
|
method: request.method,
|
|
headers: request.headers
|
|
}),
|
|
{
|
|
status: 200,
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
[AGENTIC_TEST_MOCK_HEADER]: '1'
|
|
}
|
|
}
|
|
)
|
|
}
|
|
|
|
export function mockKyInstance(
|
|
ky: KyInstance = defaultKy,
|
|
{
|
|
beforeRequest = defaultBeforeRequest,
|
|
afterResponse
|
|
}: {
|
|
beforeRequest?: BeforeRequestHook
|
|
afterResponse?: AfterResponseHook
|
|
} = {}
|
|
): KyInstance {
|
|
return ky.extend({
|
|
hooks: {
|
|
beforeRequest: beforeRequest ? [beforeRequest] : [],
|
|
afterResponse: afterResponse ? [afterResponse] : []
|
|
}
|
|
})
|
|
}
|