From c045d87f482d75d7105e87915eae2b0281b7f9d0 Mon Sep 17 00:00:00 2001 From: Larbi Gharib <larbi.gharib@savoirfairelinux.com> Date: Thu, 6 May 2021 02:26:16 +0000 Subject: [PATCH] Json content type log errors Change-Id: I1cab969e09dc23b848af9f045874d2b829a9f1b1 --- jams-react-client/src/auth.js | 11 ++----- .../src/components/Devices/Devices.js | 31 +++++++++++++++---- .../Blueprint/EditBlueprintPermissions.js | 1 - .../src/views/Blueprints/Blueprints.js | 2 -- .../src/views/Contacts/Contacts.js | 7 ++--- .../src/views/Groups/EditGroup.js | 13 ++++---- jams-react-client/src/views/Groups/Groups.js | 7 ++--- .../views/UserProfile/DisplayUserProfile.js | 27 ++++++++++------ jams-react-client/src/views/Users/Users.js | 4 +-- .../jams/server/servlets/LoginServlet.java | 1 + .../api/jaminameserver/AddressServlet.java | 1 + .../api/jaminameserver/NameServlet.java | 1 + .../server/servlets/filters/ApiFilter.java | 1 + .../servlets/filters/InstallFilter.java | 1 + .../servlets/general/ServerStatusServlet.java | 1 + 15 files changed, 64 insertions(+), 45 deletions(-) diff --git a/jams-react-client/src/auth.js b/jams-react-client/src/auth.js index ac138a04..eae75c7b 100644 --- a/jams-react-client/src/auth.js +++ b/jams-react-client/src/auth.js @@ -130,14 +130,15 @@ class Auth { } cb() }).catch((error) => { - console.log("Error during API request on checkServerIsInstalled: " + error); + if (error.response.status === 401) { + this.authenticated = false; + } }); } checkLastKnownStep(cb) { if(this.installed){ this.authenticated = true - console.log("Auth: Server is already installed") cb() }else{ axios(configApiCall(api_path_get_install_lastKnownStep, 'GET', null, null)).then((response) => { @@ -147,10 +148,6 @@ class Auth { }).catch((error) => { if(error.response.status === 401){ this.authenticated = false; - console.log("Error during API request on checkLastKnowStep not authenticated!"); - } - else{ - console.log("Error during API request on checkLastKnowStep: " + error); } cb() }) @@ -169,7 +166,6 @@ class Auth { this.authenticated = true cb() }).catch((error) => { - console.log("Error during API request on checkLastKnownStep: " + error); cb() }) } @@ -188,7 +184,6 @@ class Auth { this.authenticated = true cb() }).catch((error) => { - console.log("Error during API request on checkLastKnownStep: " + error); cb() }) } diff --git a/jams-react-client/src/components/Devices/Devices.js b/jams-react-client/src/components/Devices/Devices.js index 411af215..9f053633 100755 --- a/jams-react-client/src/components/Devices/Devices.js +++ b/jams-react-client/src/components/Devices/Devices.js @@ -1,4 +1,6 @@ import React, {useEffect} from "react"; +import { useHistory } from "react-router-dom"; + import classnames from "classnames"; import {Formik, Field} from "formik"; // @material-ui/core components @@ -38,31 +40,48 @@ const useStyles = makeStyles(styles); export default function Devices(props) { const classes = useStyles(); + const history = useHistory(); + const [devices, setDevices] = React.useState([]) const [selectedDevice, setSelectedDevice]= React.useState({}); const [displayName, setDisplayName] = React.useState("") const [openEdit, setOpenEdit] = React.useState(false); const [openRevoke, setOpenRevoke] = React.useState(false); const userData = { - "username":props.username + "username": props.username }; useEffect(() => { auth.checkDirectoryType(() => { if(auth.hasAdminScope()){ axios(configApiCall(api_path_get_admin_devices, 'GET', userData, null)).then((response)=>{ - var resultSet = JSON.parse(response.data.replace(/\s+/g, ' ').trim()); - setDevices(resultSet) + if(response.data.length == 0) { + setDevices([]); + }else{ + var resultSet = JSON.parse(response.data.replace(/\s+/g, ' ').trim()); + setDevices(resultSet) + } }).catch((error) =>{ console.log(error); + if (error.response.status === 401) { + auth.authenticated = false; + history.push("/signin"); + } }); } else{ axios(configApiCall(api_path_get_auth_devices, 'GET', null, null)).then((response)=>{ - var resultSet = JSON.parse(response.data.replace(/\s+/g, ' ').trim()); - setDevices(resultSet) + if(response.data.length == 0) { + setDevices([]); + }else{ + var resultSet = JSON.parse(response.data.replace(/\s+/g, ' ').trim()); + setDevices(resultSet) + } }).catch((error) =>{ - console.log(error); + if (error.response.status === 401) { + auth.authenticated = false; + history.push("/signin"); + } }); } }) diff --git a/jams-react-client/src/views/Blueprint/EditBlueprintPermissions.js b/jams-react-client/src/views/Blueprint/EditBlueprintPermissions.js index d5fb210c..3eabab55 100644 --- a/jams-react-client/src/views/Blueprint/EditBlueprintPermissions.js +++ b/jams-react-client/src/views/Blueprint/EditBlueprintPermissions.js @@ -174,7 +174,6 @@ export default function EditBlueprintPermissions(props) { setUsers(profiles); }) .catch((error) => { - console.log(error); setUsers([]); if (error.response.status === 401) { auth.authenticated = false; diff --git a/jams-react-client/src/views/Blueprints/Blueprints.js b/jams-react-client/src/views/Blueprints/Blueprints.js index 2bdddb4f..dc9ffcd0 100644 --- a/jams-react-client/src/views/Blueprints/Blueprints.js +++ b/jams-react-client/src/views/Blueprints/Blueprints.js @@ -127,7 +127,6 @@ export default function Blueprints() { }) .catch((error) => { setBlueprints([]); - console.log(error); if (error.response.status === 401) { auth.authenticated = false; history.push("/"); @@ -159,7 +158,6 @@ export default function Blueprints() { setBlueprintNameExits(true); }) .catch((error) => { - console.log(error); setDisableCreate(false); setBlueprintNameExits(false); }); diff --git a/jams-react-client/src/views/Contacts/Contacts.js b/jams-react-client/src/views/Contacts/Contacts.js index 8124eaa7..bf2ee4e8 100644 --- a/jams-react-client/src/views/Contacts/Contacts.js +++ b/jams-react-client/src/views/Contacts/Contacts.js @@ -117,11 +117,10 @@ export default function Users(props) { setUsers(profiles); }) .catch((error) => { - console.log(error); setUsers([]); if (error.response.status === 401) { auth.authenticated = false; - history.push("/"); + history.push("/signin"); }else if(error.response.status === 403){ setAllowedToAdd(false); } @@ -174,7 +173,6 @@ export default function Users(props) { setLoading(false); }) .catch((error) => { - console.log(error); if (error.response.status === 401) { auth.authenticated = false; history.push("/"); @@ -217,10 +215,9 @@ export default function Users(props) { setLoading(false); }) .catch((error) => { - console.log(error); if (error.response.status === 401) { auth.authenticated = false; - history.push("/"); + history.push("/signin"); } }); } diff --git a/jams-react-client/src/views/Groups/EditGroup.js b/jams-react-client/src/views/Groups/EditGroup.js index 5953ae3a..a957259a 100644 --- a/jams-react-client/src/views/Groups/EditGroup.js +++ b/jams-react-client/src/views/Groups/EditGroup.js @@ -158,10 +158,9 @@ export default function EditGroup(props) { }); }) .catch((error) => { - console.log(error); if (error.response.status === 401) { auth.authenticated = false; - history.push("/"); + history.push("/signin"); } if (error.response.status === 500) { setBlueprints([]); @@ -185,8 +184,10 @@ export default function EditGroup(props) { if (error.response.status === 404) { setGroupMembers([]); } - else - console.log(error); + if (error.response.status === 401) { + auth.authenticated = false; + history.push("/signin"); + } }) @@ -255,11 +256,10 @@ export default function EditGroup(props) { setUsers(profiles); }) .catch((error) => { - console.log(error); setUsers([]); if (error.response.status === 401) { auth.authenticated = false; - history.push("/"); + history.push("/signin"); } }); }; @@ -336,7 +336,6 @@ export default function EditGroup(props) { }); }) .catch((error) => { - console.log(error); setGroupNameExits(false); }); }; diff --git a/jams-react-client/src/views/Groups/Groups.js b/jams-react-client/src/views/Groups/Groups.js index aba42d2c..161f44ba 100644 --- a/jams-react-client/src/views/Groups/Groups.js +++ b/jams-react-client/src/views/Groups/Groups.js @@ -165,10 +165,9 @@ export default function Groups() { setSelectedBlueprint(getBlueprintsOptions()[0]); }) .catch((error) => { - console.log(error); if (error.response.status === 401) { auth.authenticated = false; - history.push("/"); + history.push("/signin"); } if (error.response.status === 500) { setBlueprints([]); @@ -212,10 +211,9 @@ export default function Groups() { setLoading(false); }) .catch((error) => { - console.log(error); if (error.response.status === 401) { auth.authenticated = false; - history.push("/"); + history.push("/signin"); } if (error.response.status === 404){ getBlueprints(); @@ -249,7 +247,6 @@ export default function Groups() { }); }) .catch((error) => { - console.log(error); setDisableCreate(false); setGroupNameExits(false); }); diff --git a/jams-react-client/src/views/UserProfile/DisplayUserProfile.js b/jams-react-client/src/views/UserProfile/DisplayUserProfile.js index 282ff263..e50cf22c 100644 --- a/jams-react-client/src/views/UserProfile/DisplayUserProfile.js +++ b/jams-react-client/src/views/UserProfile/DisplayUserProfile.js @@ -243,7 +243,6 @@ export default function DisplayUserProfile(props) { history.push("/"); }else { setGroups([]); - console.log(error.response); } } else { setGroups([]); @@ -344,10 +343,9 @@ export default function DisplayUserProfile(props) { }); setGroupMemberships(userGroupsData); }).catch((error) => { - console.log(error); if (error.response.status === 401) { auth.authenticated = false; - history.push("/"); + history.push("/signin"); } if (error.response.status === 404) { setGroupMemberships([]); @@ -357,11 +355,17 @@ export default function DisplayUserProfile(props) { setLoading(false); }) .catch((error) => { - console.log(error); + if (error.response.status === 401) { + auth.authenticated = false; + history.push("/signin"); + } }); }) .catch((error) => { - console.log(error); + if (error.response.status === 401) { + auth.authenticated = false; + history.push("/signin"); + } }); } else { axios( @@ -400,10 +404,9 @@ export default function DisplayUserProfile(props) { }); setGroupMemberships(userGroupsData); }).catch((error) => { - console.log(error); if (error.response.status === 401) { auth.authenticated = false; - history.push("/"); + history.push("/signin"); } if (error.response.status === 404) { setGroupMemberships([]); @@ -412,11 +415,17 @@ export default function DisplayUserProfile(props) { setLoading(false); }) .catch((error) => { - console.log(error); + if (error.response.status === 401) { + auth.authenticated = false; + history.push("/signin"); + } }); }) .catch((error) => { - console.log(error); + if (error.response.status === 401) { + auth.authenticated = false; + history.push("/signin"); + } }); } }); diff --git a/jams-react-client/src/views/Users/Users.js b/jams-react-client/src/views/Users/Users.js index ee96a21f..9a92182e 100644 --- a/jams-react-client/src/views/Users/Users.js +++ b/jams-react-client/src/views/Users/Users.js @@ -119,7 +119,7 @@ export default function Users(props) { setLoading(false); if (error.response.status === 401) { auth.authenticated = false; - history.push("/"); + history.push("/signin"); } }); return () => { @@ -155,7 +155,7 @@ export default function Users(props) { setLoading(false); if (error.response.status === 401) { auth.authenticated = false; - history.push("/"); + history.push("/signin"); } }); }; diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/LoginServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/LoginServlet.java index 93c156dc..4daadce5 100644 --- a/jams-server/src/main/java/net/jami/jams/server/servlets/LoginServlet.java +++ b/jams-server/src/main/java/net/jami/jams/server/servlets/LoginServlet.java @@ -95,6 +95,7 @@ public class LoginServlet extends HttpServlet { } } } + resp.setContentType("application/json;charset=UTF-8"); if (res == null) TomcatCustomErrorHandler.sendCustomError(resp, 401, "Invalid credentials provided!"); else diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/AddressServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/AddressServlet.java index 758148c1..2cab1704 100644 --- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/AddressServlet.java +++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/AddressServlet.java @@ -63,6 +63,7 @@ public class AddressServlet extends HttpServlet { JSONObject obj = new JSONObject(); obj.put("name", username); + resp.setContentType("application/json;charset=UTF-8"); if (username == null) TomcatCustomErrorHandler.sendCustomError(resp,404,"Address not found!"); else resp.getWriter().write(obj.toString()); } diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/NameServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/NameServlet.java index 96a253a1..b2dec3b8 100644 --- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/NameServlet.java +++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/jaminameserver/NameServlet.java @@ -58,6 +58,7 @@ public class NameServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { NameLookupResponse nameLookupResponse = nameServer.getAddressFromName(req.getPathInfo().replace("/","")); + resp.setContentType("application/json;charset=UTF-8"); if(nameLookupResponse == null) TomcatCustomErrorHandler.sendCustomError(resp,404,"name not found"); else resp.getOutputStream().write(JsonStream.serialize(nameLookupResponse).getBytes()); } diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/filters/ApiFilter.java b/jams-server/src/main/java/net/jami/jams/server/servlets/filters/ApiFilter.java index da079d0f..6adbcb27 100644 --- a/jams-server/src/main/java/net/jami/jams/server/servlets/filters/ApiFilter.java +++ b/jams-server/src/main/java/net/jami/jams/server/servlets/filters/ApiFilter.java @@ -51,6 +51,7 @@ public class ApiFilter implements Filter { public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; + response.setContentType("application/json;charset=UTF-8"); if (!Server.isInstalled.get()) { TomcatCustomErrorHandler.sendCustomError(response,404,"Setup has not yet been completed!"); } else { diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/filters/InstallFilter.java b/jams-server/src/main/java/net/jami/jams/server/servlets/filters/InstallFilter.java index 478fe16c..3d57e902 100644 --- a/jams-server/src/main/java/net/jami/jams/server/servlets/filters/InstallFilter.java +++ b/jams-server/src/main/java/net/jami/jams/server/servlets/filters/InstallFilter.java @@ -46,6 +46,7 @@ public class InstallFilter implements Filter { public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; + response.setContentType("application/json;charset=UTF-8"); if(Server.isInstalled.get()){ TomcatCustomErrorHandler.sendCustomError(response,404,"The server is already installed"); } diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/general/ServerStatusServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/general/ServerStatusServlet.java index 08fb9155..e84c41e3 100644 --- a/jams-server/src/main/java/net/jami/jams/server/servlets/general/ServerStatusServlet.java +++ b/jams-server/src/main/java/net/jami/jams/server/servlets/general/ServerStatusServlet.java @@ -41,6 +41,7 @@ public class ServerStatusServlet extends HttpServlet { protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { HashMap<String,String> statusInfo = new HashMap<>(); statusInfo.put("installed",String.valueOf(Server.isInstalled.get())); + resp.setContentType("application/json;charset=UTF-8"); resp.getOutputStream().write(JsonStream.serialize(statusInfo).getBytes()); } } -- GitLab