import { useState } from 'react' import { xhr } from 'xhr-fake'; import './App.css' function App() { return (
) } function XhrGet() { const [resp, setResp] = useState({}); const [req, setReq] = useState({}); const callApi = () => { setReq('{}'); var request = new XMLHttpRequest(); request.onreadystatechange = function () { if (request.readyState == XMLHttpRequest.DONE) { setResp(JSON.parse(request.responseText)); } } request.open('GET', 'api/hello', true); request.send(null); }; const fake = async() => { const fake = xhr.fake((url, _body) => /api\/hello/.test(url + ''), () => ({ status: 200, body: JSON.stringify({ code: 200, message: 'I am fake response from client' }) })); callApi(); const req = await fake.getRequest(5 * 1000); setReq(req) }; return (
Xhr Get Fake Test
REQ: {JSON.stringify(req)}
RESP: {JSON.stringify(resp)}
) } function XhrPost() { const [resp, setResp] = useState({}); const [req, setReq] = useState({}); const callApi = () => { setReq('{}'); var request = new XMLHttpRequest(); request.onreadystatechange = function () { if (request.readyState == XMLHttpRequest.DONE) { setResp(JSON.parse(request.responseText)); } } request.open('POST', 'api/hello', true); request.send(JSON.stringify({name:'client'})); }; const fake = async() => { const fake = xhr.fake((url, body) => /api\/hello/.test(url + '') && JSON.parse(body+'')['name']==='client', () => ({ status: 200, body: JSON.stringify({ code: 200, message: 'I am fake response from client' }) })); callApi(); const req = await fake.getRequest(5 * 1000); setReq(req) }; return (
Xhr Post Fake Test
REQ: {JSON.stringify(req)}
RESP: {JSON.stringify(resp)}
) } function FetchGet() { const [resp, setResp] = useState({}); const [req, setReq] = useState({}); const callApi = () => { setReq('{}'); fetch('api/hello').then(res => res.json()).then(res => setResp(res)); }; const fake = async() => { const fake = xhr.fake((url, _body) => /api\/hello/.test(url + ''), () => ({ status: 200, body: JSON.stringify({ code: 200, message: 'I am fake response from client' }) })); callApi(); const req = await fake.getRequest(5 * 1000); setReq(req) }; return (
Fetch Get Fake Test
REQ: {JSON.stringify(req)}
RESP: {JSON.stringify(resp)}
) } function FetchPost() { const [resp, setResp] = useState({}); const [req, setReq] = useState({}); const callApi = () => { setReq('{}'); fetch('api/hello',{ method:'POST', body:JSON.stringify({name:"client"}), }).then(res => res.json()).then(res => setResp(res)); }; const fake = async() => { const fake = xhr.fake((url, body) => /api\/hello/.test(url + '')&& JSON.parse(body+'')['name']==='client', () => ({ status: 200, body: JSON.stringify({ code: 200, message: 'I am fake response from client' }) })); callApi(); const req = await fake.getRequest(5 * 1000); setReq(req) }; return (
Fetch Post Fake Test
REQ: {JSON.stringify(req)}
RESP: {JSON.stringify(resp)}
) } export default App