Fix bot handling on canonical links
authorMathieu Baudier <mbaudier@argeo.org>
Fri, 6 Nov 2015 19:32:23 +0000 (19:32 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Fri, 6 Nov 2015 19:32:23 +0000 (19:32 +0000)
git-svn-id: https://svn.argeo.org/commons/trunk@8553 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeHttp.java

index 1d0f0be446f7591e55f94cb0ba11c2d7d5ffc1cc..f88ba678989f3d7261374c7d79ee9d02f39d3942 100644 (file)
@@ -57,7 +57,8 @@ class NodeHttp implements KernelConstants, ArgeoJcrConstants {
                        String userAgent = request.getHeader("User-Agent").toLowerCase();
                        boolean isBot = false;
                        boolean isCompatibleBrowser = false;
-                       if (userAgent.contains("bot")) {
+                       if (userAgent.contains("bot") || userAgent.contains("facebook")
+                                       || userAgent.contains("twitter")) {
                                isBot = true;
                        } else if (userAgent.contains("webkit")
                                        || userAgent.contains("gecko")
@@ -70,15 +71,14 @@ class NodeHttp implements KernelConstants, ArgeoJcrConstants {
                                isCompatibleBrowser = true;
                        }
 
-                       if (isCompatibleBrowser) {// redirect
-                               response.setHeader("Location", "/#" + path);
-                               response.setStatus(HttpServletResponse.SC_FOUND);
-                       } else {
-                               if (isBot && log.isDebugEnabled())
-                                       log.debug(request.getHeader("User-Agent") + " is a bot");
-                               // TODO pure html
-                               throw new UnsupportedOperationException();
-                       }
+                       if (isBot)
+                               log.warn("# BOT " + request.getHeader("User-Agent"));
+                       if (isCompatibleBrowser && log.isTraceEnabled())
+                               log.trace("# BWS " + request.getHeader("User-Agent"));
+                       // if (isCompatibleBrowser) {// redirect
+                       response.setHeader("Location", "/#" + path);
+                       response.setStatus(HttpServletResponse.SC_FOUND);
+                       // }
                }
        }