import axios, { AxiosResponse } from "axios"; export async function login(): Promise { try { console.log("Login naar:", `https://servicelayer.logres.nl:50000/b1s/v2/Login`); const response = await axios.post( "https://servicelayer.logres.nl:50000/b1s/v2/Login", { CompanyDB: "DEMONLJR", UserName: "manager", Password: "manager", }, { timeout: 10000, headers: { "Content-Type": "application/json", }, validateStatus: () => true, } ); console.log("STATUS:", response.status); console.log("DATA:", response.data); console.log("COOKIES:", response.headers["set-cookie"]); const setCookie = extractCookie(response); if (!setCookie) { throw new Error("Geen set-cookie header ontvangen van SAP Business One"); } return Array.isArray(setCookie) ? setCookie.join("; ") : setCookie; } catch (error: unknown) { console.error("MESSAGE:", (error as Error).message); console.error("CODE:", (error as { code: string }).code); if ((error as { response: unknown }).response) { console.error("STATUS:", (error as { response: { status: number } }).response.status); console.error("DATA:", (error as { response: { data: unknown } }).response.data); } throw new Error((error as Error).message || "Login failed"); } } function extractCookie(response: AxiosResponse): string | null { const setCookie = response.headers['set-cookie']; if (!setCookie) { return null; } return setCookie .map((cookie: string) => cookie.split(";")[0]) .join("; "); }