Vue.js (With Axios)
import axios from "axios";
axios.interceptors.request.use((config) => {
  const securityToken = localStorage.getItem("x-security-token") || "";
  config.headers["x-security-token"] = securityToken;
  config.headers["x-api-key"] = import.meta.env.VITE_CONTROL_API_KEY; // Set your API Key in an .ENV file
  return config;
});
// Control API Middleware-functie
async function controlApiMiddleware(payload) {
  try {
    const response = await axios.post("https://app.qubeguard.com/control", payload);
    if (response.status !== 200 || response.data.error) {
      throw new Error("Request blocked by Control API");
    }
    return response.data;
  } catch (error) {
    console.error("Control API error:", error);
    throw error;
  }
}
// Gebruik in een Vue component
export async function secureRequest(endpoint, payload) {
  await controlApiMiddleware(payload); // Eerst validatie
  return axios.post(endpoint, payload);
}
Last updated