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