当前位置: 首页>>代码示例>>Java>>正文


Java Request.getHeaders方法代码示例

本文整理汇总了Java中org.apache.catalina.connector.Request.getHeaders方法的典型用法代码示例。如果您正苦于以下问题:Java Request.getHeaders方法的具体用法?Java Request.getHeaders怎么用?Java Request.getHeaders使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.catalina.connector.Request的用法示例。


在下文中一共展示了Request.getHeaders方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: addElement

import org.apache.catalina.connector.Request; //导入方法依赖的package包/类
@Override
public void addElement(StringBuilder buf, Date date, Request request,
        Response response, long time) {
    Enumeration<String> iter = request.getHeaders(header);
    if (iter.hasMoreElements()) {
        buf.append(iter.nextElement());
        while (iter.hasMoreElements()) {
            buf.append(',').append(iter.nextElement());
        }
        return;
    }
    buf.append('-');
}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:14,代码来源:AccessLogValve.java

示例2: addElement

import org.apache.catalina.connector.Request; //导入方法依赖的package包/类
@Override
public void addElement(StringBuilder buf, Date date, Request request, Response response, long time) {
	Enumeration<String> iter = request.getHeaders(header);
	if (iter.hasMoreElements()) {
		buf.append(iter.nextElement());
		while (iter.hasMoreElements()) {
			buf.append(',').append(iter.nextElement());
		}
		return;
	}
	buf.append('-');
}
 
开发者ID:how2j,项目名称:lazycat,代码行数:13,代码来源:AccessLogValve.java

示例3: saveRequest

import org.apache.catalina.connector.Request; //导入方法依赖的package包/类
/**
 * Save the original request information into our session.
 *
 * @param request The request to be saved
 * @param session The session to contain the saved information
 * @throws IOException
 */
protected void saveRequest(Request request, Session session)
    throws IOException {

    // Create and populate a SavedRequest object for this request
    SavedRequest saved = new SavedRequest();
    Cookie cookies[] = request.getCookies();
    if (cookies != null) {
        for (int i = 0; i < cookies.length; i++) {
            saved.addCookie(cookies[i]);
        }
    }
    Enumeration<String> names = request.getHeaderNames();
    while (names.hasMoreElements()) {
        String name = names.nextElement();
        Enumeration<String> values = request.getHeaders(name);
        while (values.hasMoreElements()) {
            String value = values.nextElement();
            saved.addHeader(name, value);
        }
    }
    Enumeration<Locale> locales = request.getLocales();
    while (locales.hasMoreElements()) {
        Locale locale = locales.nextElement();
        saved.addLocale(locale);
    }

    // May need to acknowledge a 100-continue expectation
    request.getResponse().sendAcknowledgement();

    ByteChunk body = new ByteChunk();
    body.setLimit(request.getConnector().getMaxSavePostSize());

    byte[] buffer = new byte[4096];
    int bytesRead;
    InputStream is = request.getInputStream();

    while ( (bytesRead = is.read(buffer) ) >= 0) {
        body.append(buffer, 0, bytesRead);
    }

    // Only save the request body if there is something to save
    if (body.getLength() > 0) {
        saved.setContentType(request.getContentType());
        saved.setBody(body);
    }

    saved.setMethod(request.getMethod());
    saved.setQueryString(request.getQueryString());
    saved.setRequestURI(request.getRequestURI());
    saved.setDecodedRequestURI(request.getDecodedRequestURI());

    // Stash the SavedRequest in our session for later use
    session.setNote(Constants.FORM_REQUEST_NOTE, saved);
}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:62,代码来源:FormAuthenticator.java

示例4: invoke

import org.apache.catalina.connector.Request; //导入方法依赖的package包/类
@Override
public void invoke(Request request, Response response) throws IOException,
        ServletException {

    boolean isBot = false;
    String sessionId = null;
    String clientIp = null;

    if (log.isDebugEnabled()) {
        log.debug(request.hashCode() + ": ClientIp=" +
                request.getRemoteAddr() + ", RequestedSessionId=" +
                request.getRequestedSessionId());
    }

    // If the incoming request has a valid session ID, no action is required
    if (request.getSession(false) == null) {

        // Is this a crawler - check the UA headers
        Enumeration<String> uaHeaders = request.getHeaders("user-agent");
        String uaHeader = null;
        if (uaHeaders.hasMoreElements()) {
            uaHeader = uaHeaders.nextElement();
        }

        // If more than one UA header - assume not a bot
        if (uaHeader != null && !uaHeaders.hasMoreElements()) {

            if (log.isDebugEnabled()) {
                log.debug(request.hashCode() + ": UserAgent=" + uaHeader);
            }

            if (uaPattern.matcher(uaHeader).matches()) {
                isBot = true;

                if (log.isDebugEnabled()) {
                    log.debug(request.hashCode() +
                            ": Bot found. UserAgent=" + uaHeader);
                }
            }
        }

        // If this is a bot, is the session ID known?
        if (isBot) {
            clientIp = request.getRemoteAddr();
            sessionId = clientIpSessionId.get(clientIp);
            if (sessionId != null) {
                request.setRequestedSessionId(sessionId);
                if (log.isDebugEnabled()) {
                    log.debug(request.hashCode() + ": SessionID=" +
                            sessionId);
                }
            }
        }
    }

    getNext().invoke(request, response);

    if (isBot) {
        if (sessionId == null) {
            // Has bot just created a session, if so make a note of it
            HttpSession s = request.getSession(false);
            if (s != null) {
                clientIpSessionId.put(clientIp, s.getId());
                sessionIdClientIp.put(s.getId(), clientIp);
                // #valueUnbound() will be called on session expiration
                s.setAttribute(this.getClass().getName(), this);
                s.setMaxInactiveInterval(sessionInactiveInterval);

                if (log.isDebugEnabled()) {
                    log.debug(request.hashCode() +
                            ": New bot session. SessionID=" + s.getId());
                }
            }
        } else {
            if (log.isDebugEnabled()) {
                log.debug(request.hashCode() +
                        ": Bot session accessed. SessionID=" + sessionId);
            }
        }
    }
}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:82,代码来源:CrawlerSessionManagerValve.java

示例5: saveRequest

import org.apache.catalina.connector.Request; //导入方法依赖的package包/类
/**
 * Save the original request information into our session.
 *
 * @param request
 *            The request to be saved
 * @param session
 *            The session to contain the saved information
 * @throws IOException
 */
protected void saveRequest(Request request, Session session) throws IOException {

	// Create and populate a SavedRequest object for this request
	SavedRequest saved = new SavedRequest();
	Cookie cookies[] = request.getCookies();
	if (cookies != null) {
		for (int i = 0; i < cookies.length; i++) {
			saved.addCookie(cookies[i]);
		}
	}
	Enumeration<String> names = request.getHeaderNames();
	while (names.hasMoreElements()) {
		String name = names.nextElement();
		Enumeration<String> values = request.getHeaders(name);
		while (values.hasMoreElements()) {
			String value = values.nextElement();
			saved.addHeader(name, value);
		}
	}
	Enumeration<Locale> locales = request.getLocales();
	while (locales.hasMoreElements()) {
		Locale locale = locales.nextElement();
		saved.addLocale(locale);
	}

	// May need to acknowledge a 100-continue expectation
	request.getResponse().sendAcknowledgement();

	ByteChunk body = new ByteChunk();
	body.setLimit(request.getConnector().getMaxSavePostSize());

	byte[] buffer = new byte[4096];
	int bytesRead;
	InputStream is = request.getInputStream();

	while ((bytesRead = is.read(buffer)) >= 0) {
		body.append(buffer, 0, bytesRead);
	}

	// Only save the request body if there is something to save
	if (body.getLength() > 0) {
		saved.setContentType(request.getContentType());
		saved.setBody(body);
	}

	saved.setMethod(request.getMethod());
	saved.setQueryString(request.getQueryString());
	saved.setRequestURI(request.getRequestURI());
	saved.setDecodedRequestURI(request.getDecodedRequestURI());

	// Stash the SavedRequest in our session for later use
	session.setNote(Constants.FORM_REQUEST_NOTE, saved);
}
 
开发者ID:how2j,项目名称:lazycat,代码行数:63,代码来源:FormAuthenticator.java

示例6: invoke

import org.apache.catalina.connector.Request; //导入方法依赖的package包/类
@Override
public void invoke(Request request, Response response) throws IOException, ServletException {

	boolean isBot = false;
	String sessionId = null;
	String clientIp = null;

	if (log.isDebugEnabled()) {
		log.debug(request.hashCode() + ": ClientIp=" + request.getRemoteAddr() + ", RequestedSessionId="
				+ request.getRequestedSessionId());
	}

	// If the incoming request has a valid session ID, no action is required
	if (request.getSession(false) == null) {

		// Is this a crawler - check the UA headers
		Enumeration<String> uaHeaders = request.getHeaders("user-agent");
		String uaHeader = null;
		if (uaHeaders.hasMoreElements()) {
			uaHeader = uaHeaders.nextElement();
		}

		// If more than one UA header - assume not a bot
		if (uaHeader != null && !uaHeaders.hasMoreElements()) {

			if (log.isDebugEnabled()) {
				log.debug(request.hashCode() + ": UserAgent=" + uaHeader);
			}

			if (uaPattern.matcher(uaHeader).matches()) {
				isBot = true;

				if (log.isDebugEnabled()) {
					log.debug(request.hashCode() + ": Bot found. UserAgent=" + uaHeader);
				}
			}
		}

		// If this is a bot, is the session ID known?
		if (isBot) {
			clientIp = request.getRemoteAddr();
			sessionId = clientIpSessionId.get(clientIp);
			if (sessionId != null) {
				request.setRequestedSessionId(sessionId);
				if (log.isDebugEnabled()) {
					log.debug(request.hashCode() + ": SessionID=" + sessionId);
				}
			}
		}
	}

	getNext().invoke(request, response);

	if (isBot) {
		if (sessionId == null) {
			// Has bot just created a session, if so make a note of it
			HttpSession s = request.getSession(false);
			if (s != null) {
				clientIpSessionId.put(clientIp, s.getId());
				sessionIdClientIp.put(s.getId(), clientIp);
				// #valueUnbound() will be called on session expiration
				s.setAttribute(this.getClass().getName(), this);
				s.setMaxInactiveInterval(sessionInactiveInterval);

				if (log.isDebugEnabled()) {
					log.debug(request.hashCode() + ": New bot session. SessionID=" + s.getId());
				}
			}
		} else {
			if (log.isDebugEnabled()) {
				log.debug(request.hashCode() + ": Bot session accessed. SessionID=" + sessionId);
			}
		}
	}
}
 
开发者ID:how2j,项目名称:lazycat,代码行数:76,代码来源:CrawlerSessionManagerValve.java


注:本文中的org.apache.catalina.connector.Request.getHeaders方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。