mirror of
https://github.com/Athou/commafeed.git
synced 2026-03-21 21:37:29 +00:00
49 lines
1.5 KiB
Java
49 lines
1.5 KiB
Java
package com.commafeed.frontend.servlet;
|
|
|
|
import java.io.IOException;
|
|
|
|
import javax.servlet.ServletException;
|
|
import javax.servlet.http.HttpServlet;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
|
import com.commafeed.CommaFeedConfiguration;
|
|
|
|
@SuppressWarnings("serial")
|
|
public class AnalyticsServlet extends HttpServlet {
|
|
|
|
private CommaFeedConfiguration config;
|
|
private String script;
|
|
|
|
public AnalyticsServlet(CommaFeedConfiguration config) {
|
|
this.config = config;
|
|
|
|
// @formatter:off
|
|
this.script = "(function(i, s, o, g, r, a, m) {" +
|
|
"i['GoogleAnalyticsObject'] = r;" +
|
|
"i[r] = i[r] || function() {" +
|
|
"(i[r].q = i[r].q || []).push(arguments)" +
|
|
"}, i[r].l = 1 * new Date();" +
|
|
"a = s.createElement(o), m = s.getElementsByTagName(o)[0];" +
|
|
"a.async = 1;" +
|
|
"a.src = g;" +
|
|
"m.parentNode.insertBefore(a, m)" +
|
|
"})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');" +
|
|
|
|
"ga('create', '" + config.getApplicationSettings().getGoogleAnalyticsTrackingCode() + "');" +
|
|
"ga('send', 'pageview');";
|
|
// @formatter:on
|
|
}
|
|
|
|
@Override
|
|
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
|
resp.setContentType("text/javascript");
|
|
if (StringUtils.isNotBlank(config.getApplicationSettings().getGoogleAnalyticsTrackingCode())) {
|
|
resp.getWriter().write(script);
|
|
}
|
|
}
|
|
|
|
}
|