This can be used to wire an Axios based client to a server during testing using Light my Request. Requires axios@^1
.
const axios = require("axios");
const {
createLightMyRequestAdapter,
} = require("axios-light-my-request-adapter");
function dispatch(req, res) {
res.writeHead(200, { "Content-Type": "application/json" });
res.end(JSON.stringify({ data: "Hello World!" }));
}
const instance = axios.create({
baseURL: "http://localhost/",
adapter: createLightMyRequestAdapter(dispatch),
});
(async function () {
const res = await instance.get("/");
console.log(res);
})();
Or with Fastify:
const axios = require("axios");
const fastify = require("fastify");
const {
createLightMyRequestAdapterFromFastify,
} = require("axios-light-my-request-adapter");
const app = fastify();
app.get("/", async () => {
return { data: "Hello World!" };
});
const instance = axios.create({
baseURL: "http://localhost/",
adapter: createLightMyRequestAdapterFromFastify(app),
});
(async function () {
const res = await instance.get("/");
console.log(res);
})();
maxRedirects
is not supported fastify/light-my-request#209, and will throw.socketPath
andproxy
are not supported and will throw.httpAgent
&httpsAgent
are ignored.
MIT.