X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FNodeHttp.java;h=bfa1f2f0aebb3235493ae7f2bbd41340e9a5232e;hb=6bd449f839949c0ebc7eafdd9c9997dc10850db0;hp=320f4e102ab8df05c76f57bf703e35d0a24c9371;hpb=7b4d38b672e460111309e8d24ee8f2cbf097c858;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeHttp.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeHttp.java index 320f4e102..bfa1f2f0a 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeHttp.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeHttp.java @@ -57,6 +57,8 @@ class NodeHttp implements KernelConstants, ArgeoJcrConstants { try { httpService.registerServlet("/!", new LinkServlet(repository), null, null); + httpService.registerServlet("/robots.txt", new RobotServlet(), + null, null); } catch (Exception e) { throw new CmsException("Cannot register filters", e); } @@ -150,6 +152,8 @@ class NodeHttp implements KernelConstants, ArgeoJcrConstants { buf.append(""); writeMeta(buf, "og:title", title); writeMeta(buf, "og:type", "website"); + buf.append(""); + buf.append(""); writeMeta(buf, "og:url", url); if (desc != null) writeMeta(buf, "og:description", desc); @@ -203,6 +207,22 @@ class NodeHttp implements KernelConstants, ArgeoJcrConstants { } } + class RobotServlet extends HttpServlet { + private static final long serialVersionUID = 7935661175336419089L; + + @Override + protected void service(HttpServletRequest request, + HttpServletResponse response) throws ServletException, + IOException { + PrintWriter writer = response.getWriter(); + writer.append("User-agent: *\n"); + writer.append("Disallow:\n"); + response.setHeader("Content-Type", "text/plain"); + writer.flush(); + } + + } + /** Intercepts all requests. Authenticates. */ class RootFilter extends HttpFilter {