mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Add IoT-Node-IP response header
This commit is contained in:
parent
e20b0459a2
commit
48e2cb69a0
@ -36,6 +36,11 @@ import org.wso2.carbon.webapp.authenticator.framework.authenticator.WebappAuthen
|
||||
import org.wso2.carbon.webapp.authenticator.framework.authorizer.WebappTenantAuthorizer;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.net.InetAddress;
|
||||
import java.net.NetworkInterface;
|
||||
import java.net.SocketException;
|
||||
import java.util.Enumeration;
|
||||
import java.util.HashMap;
|
||||
import java.util.StringTokenizer;
|
||||
import java.util.TreeMap;
|
||||
import java.util.regex.Pattern;
|
||||
@ -49,6 +54,31 @@ public class WebappAuthenticationValve extends CarbonTomcatValve {
|
||||
|
||||
@Override
|
||||
public void invoke(Request request, Response response, CompositeValve compositeValve) {
|
||||
if (response != null) {
|
||||
if (inetAddress == null) {
|
||||
try {
|
||||
Enumeration<NetworkInterface> ifaces = NetworkInterface.getNetworkInterfaces();
|
||||
while (ifaces.hasMoreElements()) {
|
||||
NetworkInterface iface = ifaces.nextElement();
|
||||
if (!iface.isLoopback() && iface.isUp()) {
|
||||
Enumeration<InetAddress> addresses = iface.getInetAddresses();
|
||||
while (addresses.hasMoreElements()) {
|
||||
inetAddress = addresses.nextElement();
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
} catch (SocketException e) {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Unable to get IP address of the node.", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (inetAddress != null) {
|
||||
response.setHeader("IoT-Node-IP", inetAddress.getHostAddress());
|
||||
}
|
||||
}
|
||||
|
||||
if ((this.isContextSkipped(request) || this.skipAuthentication(request))
|
||||
&& (StringUtils.isEmpty(request.getHeader(AUTHORIZE_PERMISSION)))) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user