Example usage for com.liferay.portal.kernel.servlet HttpHeaders USER_AGENT

List of usage examples for com.liferay.portal.kernel.servlet HttpHeaders USER_AGENT

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.servlet HttpHeaders USER_AGENT.

Prototype

String USER_AGENT

To view the source code for com.liferay.portal.kernel.servlet HttpHeaders USER_AGENT.

Click Source Link

Usage

From source file:com.liferay.akismet.hook.service.impl.AkismetMBMessageLocalServiceImpl.java

License:Open Source License

protected AkismetData updateAkismetData(MBMessage message, ServiceContext serviceContext) {

    if (!AkismetUtil.hasRequiredInfo(serviceContext)) {
        return null;
    }//  w w w  .  j  a  va2s. c  om

    String permalink = getPermalink(message, serviceContext);

    Map<String, String> headers = serviceContext.getHeaders();

    String referrer = headers.get("referer");
    String userAgent = headers.get(StringUtil.toLowerCase(HttpHeaders.USER_AGENT));

    String userIP = serviceContext.getRemoteAddr();

    return AkismetDataLocalServiceUtil.updateAkismetData(MBMessage.class.getName(), message.getMessageId(),
            AkismetConstants.TYPE_COMMENT, permalink, referrer, userAgent, userIP, StringPool.BLANK);
}

From source file:com.liferay.akismet.hook.service.impl.AkismetWikiPageLocalServiceImpl.java

License:Open Source License

protected AkismetData updateAkismetData(WikiPage page, ServiceContext serviceContext) {

    if (!AkismetUtil.hasRequiredInfo(serviceContext)) {
        return null;
    }/*from   w  w  w  .  ja v  a2s .  c om*/

    String permalink = getPermalink(page, serviceContext);

    Map<String, String> headers = serviceContext.getHeaders();

    String referrer = headers.get("referer");
    String userAgent = headers.get(StringUtil.toLowerCase(HttpHeaders.USER_AGENT));

    String userIP = serviceContext.getRemoteAddr();

    return AkismetDataLocalServiceUtil.updateAkismetData(WikiPage.class.getName(), page.getPageId(),
            AkismetConstants.TYPE_WIKI, permalink, referrer, userAgent, userIP, StringPool.BLANK);
}

From source file:com.liferay.akismet.util.AkismetUtil.java

License:Open Source License

public static boolean hasRequiredInfo(ServiceContext serviceContext) {
    Map<String, String> headers = serviceContext.getHeaders();

    if (headers == null) {
        return false;
    }//from w  ww.ja  v a  2  s . c om

    String userAgent = headers.get(StringUtil.toLowerCase(HttpHeaders.USER_AGENT));

    if (Validator.isNull(userAgent)) {
        return false;
    }

    String userIP = serviceContext.getRemoteAddr();

    if (Validator.isNull(userIP)) {
        return false;
    }

    return true;
}

From source file:com.liferay.akismet.util.AkismetUtil.java

License:Open Source License

private static String _sendRequest(String location, Map<String, String> parts) {

    Http.Options options = new Http.Options();

    options.addHeader(HttpHeaders.USER_AGENT, "Akismet/2.5.3");
    options.setLocation(location);//from   w ww  .  j ava2 s .c  o  m
    options.setParts(parts);
    options.setPost(true);

    try {
        return HttpUtil.URLtoString(options);
    } catch (IOException ioe) {
        _log.error(ioe, ioe);
    }

    return StringPool.BLANK;
}

From source file:com.liferay.analyticsprocessor.servlet.AnalyticsProcessorServlet.java

License:Open Source License

protected void processEvents(HttpServletRequest request, HttpServletResponse response) throws Exception {

    String themeDisplayDataJSON = ParamUtil.getString(request, "themeDisplayData");

    if (Validator.isNull(themeDisplayDataJSON)) {
        return;//ww w  .  jav  a2 s .  c o  m
    }

    JSONObject themeDisplayDataJSONObject = JSONFactoryUtil.createJSONObject(themeDisplayDataJSON);

    String eventsJSON = ParamUtil.getString(request, "events", "[]");

    JSONArray eventsJSONArray = JSONFactoryUtil.createJSONArray(eventsJSON);

    if (eventsJSONArray.length() == 0) {
        return;
    }

    AnonymousUser anonymousUser = _anonymousUsersManager.getAnonymousUser(request, response);

    for (int i = 0; i < eventsJSONArray.length(); ++i) {
        Message message = new Message();

        message.put("clientIP", request.getRemoteAddr());
        message.put("userAgent", request.getHeader(HttpHeaders.USER_AGENT));

        copyJSONObjectData(message, themeDisplayDataJSONObject);

        message.put("anonymousUserId", anonymousUser.getAnonymousUserId());

        JSONObject eventJSONObject = eventsJSONArray.getJSONObject(i);

        message.put("event", eventJSONObject.getString("event", "view"));
        message.put("timestamp", eventJSONObject.getString("timestamp"));

        copyJSONObjectData(message, eventJSONObject.getJSONObject("properties"));

        MessageBusUtil.sendMessage("liferay/analytics", message);
    }
}

From source file:com.liferay.document.library.webdav.test.BaseWebDAVTestCase.java

License:Open Source License

public Tuple service(String method, String path, Map<String, String> headers, byte[] data) {

    WebDAVStorage webDAVStorage = new DLWebDAVStorageImpl();

    webDAVStorage.setToken("document_library");

    WebDAVUtil.addStorage(webDAVStorage);

    WebDAVServlet webDAVServlet = new WebDAVServlet();

    String requestURI = _CONTEXT_PATH + _SERVLET_PATH + _PATH_INFO_PREFACE + path;

    MockHttpServletRequest mockHttpServletRequest = new MockHttpServletRequest(method, requestURI);

    mockHttpServletRequest.setContextPath(_CONTEXT_PATH);
    mockHttpServletRequest.setServletPath(_SERVLET_PATH);
    mockHttpServletRequest.setPathInfo(_PATH_INFO_PREFACE + path);

    try {//from  w w w . j  a va  2  s.co  m
        mockHttpServletRequest.setRemoteUser(String.valueOf(TestPropsValues.getUserId()));
    } catch (Exception e) {
        Assert.fail("User ID cannot be initialized");
    }

    if (headers == null) {
        headers = new HashMap<>();
    }

    headers.put(HttpHeaders.USER_AGENT, getUserAgent());

    try {
        throw new Exception();
    } catch (Exception e) {
        StackTraceElement[] stackTraceElements = e.getStackTrace();

        for (StackTraceElement stackTraceElement : stackTraceElements) {
            String methodName = stackTraceElement.getMethodName();

            if (methodName.equals("setUp") || methodName.equals("tearDown") || methodName.startsWith("test")) {

                String testName = StringUtil.extractLast(stackTraceElement.getClassName(), CharPool.PERIOD);

                testName = StringUtil.removeSubstrings(testName, "WebDAV", "Test");

                headers.put("X-Litmus", testName + ": (" + stackTraceElement.getMethodName() + ":"
                        + stackTraceElement.getLineNumber() + ")");

                break;
            }
        }
    }

    if (data != null) {
        mockHttpServletRequest.setContent(data);

        String contentType = headers.remove(HttpHeaders.CONTENT_TYPE);

        if (contentType != null) {
            mockHttpServletRequest.setContentType(contentType);
        } else {
            mockHttpServletRequest.setContentType(ContentTypes.TEXT_PLAIN);
        }
    }

    for (Map.Entry<String, String> entry : headers.entrySet()) {
        String key = entry.getKey();
        String value = entry.getValue();

        mockHttpServletRequest.addHeader(key, value);
    }

    try {
        MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse();

        webDAVServlet.service(mockHttpServletRequest, mockHttpServletResponse);

        int statusCode = mockHttpServletResponse.getStatus();
        byte[] responseBody = mockHttpServletResponse.getContentAsByteArray();

        Map<String, String> responseHeaders = new HashMap<>();

        for (String name : mockHttpServletResponse.getHeaderNames()) {
            responseHeaders.put(name, mockHttpServletResponse.getHeader(name));
        }

        return new Tuple(statusCode, responseBody, responseHeaders);
    } catch (Exception e) {
        e.printStackTrace();
    }

    return null;
}

From source file:com.liferay.faces.bridge.ext.filter.internal.LiferayPortletRequest.java

License:Open Source License

public LiferayPortletRequest(PortletRequest portletRequest, String responseNamespace,
        PortletConfig portletConfig) {//from w ww . ja v  a 2s. c om

    if (portletRequest != null) {

        while (portletRequest instanceof PortletRequestWrapper) {
            PortletRequestWrapper portletRequestWrapper = (PortletRequestWrapper) portletRequest;
            portletRequest = portletRequestWrapper.getRequest();
        }
    }

    this.wrappedPortletRequest = portletRequest;

    this.distinctRequestScopedManagedBeans = LiferayPortletConfigParam.DistinctRequestScopedManagedBeans
            .getBooleanValue(portletConfig);

    try {
        Method method = wrappedPortletRequest.getClass().getMethod(METHOD_NAME_GET_PORTLET, (Class[]) null);

        this.portlet = (Portlet) method.invoke(wrappedPortletRequest, (Object[]) null);
    } catch (Exception e) {
        logger.error(e.getMessage(), e);
    }

    try {
        Method method = wrappedPortletRequest.getClass()
                .getMethod(METHOD_NAME_GET_ORIGINAL_HTTP_SERVLET_REQUEST, (Class[]) null);
        this.liferayHttpServletRequest = new LiferayHttpServletRequest(
                (HttpServletRequest) method.invoke(wrappedPortletRequest, (Object[]) null));
    } catch (Exception e) {
        logger.error(e.getMessage(), e);
    }

    this.propertyNameList = new ArrayList<String>();

    boolean foundIfModifiedSince = false;
    boolean foundUserAgent = false;
    Enumeration<String> propertyNames = portletRequest.getPropertyNames();

    while (propertyNames.hasMoreElements() && !foundUserAgent) {
        String propertyName = propertyNames.nextElement();
        propertyNameList.add(propertyName);

        if (HttpHeaders.IF_MODIFIED_SINCE.equals(propertyName)) {
            foundIfModifiedSince = true;
        } else if (HttpHeaders.USER_AGENT.equals(propertyName)) {
            foundUserAgent = true;
        }
    }

    if (!foundIfModifiedSince) {

        Enumeration<String> headerNames = liferayHttpServletRequest.getHeaderNames();

        while (headerNames.hasMoreElements() && !foundIfModifiedSince) {
            String headerName = headerNames.nextElement();
            foundIfModifiedSince = (HttpHeaders.IF_MODIFIED_SINCE.equalsIgnoreCase(headerName));
        }

        if (foundIfModifiedSince) {
            propertyNameList.add(HttpHeaders.IF_MODIFIED_SINCE);
        }
    }

    if (!foundUserAgent) {

        Enumeration<String> headerNames = liferayHttpServletRequest.getHeaderNames();

        while (headerNames.hasMoreElements() && !foundUserAgent) {
            String headerName = headerNames.nextElement();
            foundUserAgent = (HttpHeaders.USER_AGENT.equalsIgnoreCase(headerName));
        }

        if (foundUserAgent) {
            propertyNameList.add(HttpHeaders.USER_AGENT);
        }
    }

    this.distinctRequestScopedManagedBeans = LiferayPortletConfigParam.DistinctRequestScopedManagedBeans
            .getBooleanValue(portletConfig);
    this.responseNamespace = responseNamespace;
}

From source file:com.liferay.faces.bridge.ext.filter.internal.LiferayPortletRequest.java

License:Open Source License

public Enumeration<String> getProperties(String name) {

    Enumeration<String> properties = wrappedPortletRequest.getProperties(name);

    if (!properties.hasMoreElements()
            && (HttpHeaders.USER_AGENT.equals(name) || HttpHeaders.IF_MODIFIED_SINCE.equals(name))) {
        properties = liferayHttpServletRequest.getHeaders(name);
    }/*from www.  jav a 2  s .  co  m*/

    return properties;
}

From source file:com.liferay.faces.util.client.BrowserSnifferImpl.java

License:Open Source License

protected String getUserAgent(HttpServletRequest request) {
    String userAgent = StringPool.BLANK;

    if (request == null) {
        return userAgent;
    }//from   w w  w. ja  v a  2  s .com

    userAgent = String.valueOf(request.getAttribute(HttpHeaders.USER_AGENT));

    if (Validator.isNotNull(userAgent)) {
        return userAgent;
    }

    userAgent = request.getHeader(HttpHeaders.USER_AGENT);

    if (userAgent != null) {
        userAgent = userAgent.toLowerCase();
    } else {
        userAgent = StringPool.BLANK;
    }

    request.setAttribute(HttpHeaders.USER_AGENT, userAgent);

    return userAgent;
}

From source file:com.liferay.portlet.blogs.util.LinkbackProducerUtil.java

License:Open Source License

public static boolean sendTrackback(String trackback, Map<String, String> parts) throws Exception {

    if (_log.isInfoEnabled()) {
        _log.info("Pinging trackback " + trackback);
    }/*from  w  ww . j  a v  a  2  s. c  o m*/

    Http.Options options = new Http.Options();

    options.addHeader(HttpHeaders.USER_AGENT, ReleaseInfo.getServerInfo());
    options.setLocation(trackback);
    options.setParts(parts);
    options.setPost(true);

    String xml = HttpUtil.URLtoString(options);

    if (_log.isDebugEnabled()) {
        _log.debug(xml);
    }

    String error = xml;

    XMLStreamReader xmlStreamReader = null;

    try {
        XMLInputFactory xmlInputFactory = StAXReaderUtil.getXMLInputFactory();

        xmlStreamReader = xmlInputFactory.createXMLStreamReader(new UnsyncStringReader(xml));

        xmlStreamReader.nextTag();
        xmlStreamReader.nextTag();

        String name = xmlStreamReader.getLocalName();

        if (name.equals("error")) {
            int status = GetterUtil.getInteger(xmlStreamReader.getElementText(), 1);

            if (status == 0) {
                if (_log.isInfoEnabled()) {
                    _log.info("Trackback accepted");
                }

                return true;
            }

            xmlStreamReader.nextTag();

            name = xmlStreamReader.getLocalName();

            if (name.equals("message")) {
                error = xmlStreamReader.getElementText();
            }
        }
    } finally {
        if (xmlStreamReader != null) {
            try {
                xmlStreamReader.close();
            } catch (Exception e) {
            }
        }
    }

    _log.error("Error while pinging trackback at " + trackback + ": " + error);

    return false;
}