|
@@ -1,13 +1,20 @@
|
|
|
import { useEffect, useCallback } from "react";
|
|
|
|
|
|
-export default (url, handleOk, handleFailed, handleError, ms=20000) => {
|
|
|
+export default (
|
|
|
+ url,
|
|
|
+ handleOk,
|
|
|
+ handleFailed,
|
|
|
+ handleError,
|
|
|
+ ms = 20000,
|
|
|
+ credentials = null,
|
|
|
+) => {
|
|
|
const callbackOk = useCallback(handleOk, []);
|
|
|
const callbackFailed = useCallback(handleFailed, []);
|
|
|
const callbackError = useCallback(handleError, []);
|
|
|
useEffect(() => {
|
|
|
const checkServer = async () => {
|
|
|
try {
|
|
|
- const res = await fetch(url);
|
|
|
+ const res = await fetch(url, credentials ? { credentials } : {});
|
|
|
if (res.ok) {
|
|
|
const js = await res.json();
|
|
|
callbackOk(js);
|
|
@@ -25,5 +32,5 @@ export default (url, handleOk, handleFailed, handleError, ms=20000) => {
|
|
|
const interval = setInterval(checkServer, ms);
|
|
|
|
|
|
return () => clearInterval(interval);
|
|
|
- }, [url, callbackOk, callbackFailed, callbackError, ms]);
|
|
|
+ }, [url, callbackOk, callbackFailed, callbackError, ms, credentials]);
|
|
|
};
|