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


Java HttpMessages.isSafeInHttpHeader方法代码示例

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


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

示例1: sendStatus

import org.apache.tomcat.util.http.HttpMessages; //导入方法依赖的package包/类
/**
 * Send the response status line.
 */
public void sendStatus() {

    // Write protocol name
    write(Constants.HTTP_11_BYTES);
    buf[pos++] = Constants.SP;

    // Write status code
    int status = response.getStatus();
    switch (status) {
    case 200:
        write(Constants._200_BYTES);
        break;
    case 400:
        write(Constants._400_BYTES);
        break;
    case 404:
        write(Constants._404_BYTES);
        break;
    default:
        write(status);
    }

    buf[pos++] = Constants.SP;

    // Write message
    String message = null;
    if (org.apache.coyote.Constants.USE_CUSTOM_STATUS_MSG_IN_HEADER &&
            HttpMessages.isSafeInHttpHeader(response.getMessage())) {
        message = response.getMessage();
    }
    if (message == null) {
        write(HttpMessages.getInstance(
                response.getLocale()).getMessage(status));
    } else {
        write(message);
    }

    // End the response status line
    if (org.apache.coyote.Constants.IS_SECURITY_ENABLED){
       AccessController.doPrivileged(
            new PrivilegedAction<Void>(){
                @Override
                public Void run(){
                    buf[pos++] = Constants.CR;
                    buf[pos++] = Constants.LF;
                    return null;
                }
            }
       );
    } else {
        buf[pos++] = Constants.CR;
        buf[pos++] = Constants.LF;
    }

}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:59,代码来源:AbstractOutputBuffer.java

示例2: prepareResponse

import org.apache.tomcat.util.http.HttpMessages; //导入方法依赖的package包/类
/**
 * When committing the response, we have to validate the set of headers, as
 * well as setup the response filters.
 */
protected void prepareResponse() throws IOException {

	response.setCommitted(true);

	responseMessage.reset();
	responseMessage.appendByte(Constants.JK_AJP13_SEND_HEADERS);

	// Responses with certain status codes are not permitted to include a
	// response body.
	int statusCode = response.getStatus();
	if (statusCode < 200 || statusCode == 204 || statusCode == 205 || statusCode == 304) {
		// No entity body
		swallowResponse = true;
	}

	// Responses to HEAD requests are not permitted to incude a response
	// body.
	MessageBytes methodMB = request.method();
	if (methodMB.equals("HEAD")) {
		// No entity body
		swallowResponse = true;
	}

	// HTTP header contents
	responseMessage.appendInt(statusCode);
	String message = null;
	if (org.apache.coyote.Constants.USE_CUSTOM_STATUS_MSG_IN_HEADER
			&& HttpMessages.isSafeInHttpHeader(response.getMessage())) {
		message = response.getMessage();
	}
	if (message == null) {
		message = HttpMessages.getInstance(response.getLocale()).getMessage(response.getStatus());
	}
	if (message == null) {
		// mod_jk + httpd 2.x fails with a null status message - bug 45026
		message = Integer.toString(response.getStatus());
	}
	tmpMB.setString(message);
	responseMessage.appendBytes(tmpMB);

	// Special headers
	MimeHeaders headers = response.getMimeHeaders();
	String contentType = response.getContentType();
	if (contentType != null) {
		headers.setValue("Content-Type").setString(contentType);
	}
	String contentLanguage = response.getContentLanguage();
	if (contentLanguage != null) {
		headers.setValue("Content-Language").setString(contentLanguage);
	}
	long contentLength = response.getContentLengthLong();
	if (contentLength >= 0) {
		headers.setValue("Content-Length").setLong(contentLength);
	}

	// Other headers
	int numHeaders = headers.size();
	responseMessage.appendInt(numHeaders);
	for (int i = 0; i < numHeaders; i++) {
		MessageBytes hN = headers.getName(i);
		int hC = Constants.getResponseAjpIndex(hN.toString());
		if (hC > 0) {
			responseMessage.appendInt(hC);
		} else {
			responseMessage.appendBytes(hN);
		}
		MessageBytes hV = headers.getValue(i);
		responseMessage.appendBytes(hV);
	}

	// Write to buffer
	responseMessage.end();
	output(responseMessage.getBuffer(), 0, responseMessage.getLen());
}
 
开发者ID:how2j,项目名称:lazycat,代码行数:79,代码来源:AbstractAjpProcessor.java

示例3: sendStatus

import org.apache.tomcat.util.http.HttpMessages; //导入方法依赖的package包/类
/**
 * Send the response status line.
 */
public void sendStatus() {

	// Write protocol name
	write(Constants.HTTP_11_BYTES);
	buf[pos++] = Constants.SP;

	// Write status code
	int status = response.getStatus();
	switch (status) {
	case 200:
		write(Constants._200_BYTES);
		break;
	case 400:
		write(Constants._400_BYTES);
		break;
	case 404:
		write(Constants._404_BYTES);
		break;
	default:
		write(status);
	}

	buf[pos++] = Constants.SP;

	// Write message
	String message = null;
	if (org.apache.coyote.Constants.USE_CUSTOM_STATUS_MSG_IN_HEADER
			&& HttpMessages.isSafeInHttpHeader(response.getMessage())) {
		message = response.getMessage();
	}
	if (message == null) {
		write(HttpMessages.getInstance(response.getLocale()).getMessage(status));
	} else {
		write(message);
	}

	// End the response status line
	if (org.apache.coyote.Constants.IS_SECURITY_ENABLED) {
		AccessController.doPrivileged(new PrivilegedAction<Void>() {
			@Override
			public Void run() {
				buf[pos++] = Constants.CR;
				buf[pos++] = Constants.LF;
				return null;
			}
		});
	} else {
		buf[pos++] = Constants.CR;
		buf[pos++] = Constants.LF;
	}

}
 
开发者ID:how2j,项目名称:lazycat,代码行数:56,代码来源:AbstractOutputBuffer.java

示例4: prepareResponse

import org.apache.tomcat.util.http.HttpMessages; //导入方法依赖的package包/类
/**
 * When committing the response, we have to validate the set of headers, as
 * well as setup the response filters.
 */
protected void prepareResponse() throws IOException {

    response.setCommitted(true);

    responseMessage.reset();
    responseMessage.appendByte(Constants.JK_AJP13_SEND_HEADERS);

    // HTTP header contents
    responseMessage.appendInt(response.getStatus());
    String message = null;
    if (org.apache.coyote.Constants.USE_CUSTOM_STATUS_MSG_IN_HEADER &&
            HttpMessages.isSafeInHttpHeader(response.getMessage())) {
        message = response.getMessage();
    }
    if (message == null){
        message = HttpMessages.getMessage(response.getStatus());
    }
    if (message == null) {
        // mod_jk + httpd 2.x fails with a null status message - bug 45026
        message = Integer.toString(response.getStatus());
    }
    tmpMB.setString(message);
    responseMessage.appendBytes(tmpMB);

    // Special headers
    MimeHeaders headers = response.getMimeHeaders();
    String contentType = response.getContentType();
    if (contentType != null) {
        headers.setValue("Content-Type").setString(contentType);
    }
    String contentLanguage = response.getContentLanguage();
    if (contentLanguage != null) {
        headers.setValue("Content-Language").setString(contentLanguage);
    }
    long contentLength = response.getContentLengthLong();
    if (contentLength >= 0) {
        headers.setValue("Content-Length").setLong(contentLength);
    }

    // Other headers
    int numHeaders = headers.size();
    responseMessage.appendInt(numHeaders);
    for (int i = 0; i < numHeaders; i++) {
        MessageBytes hN = headers.getName(i);
        int hC = Constants.getResponseAjpIndex(hN.toString());
        if (hC > 0) {
            responseMessage.appendInt(hC);
        }
        else {
            responseMessage.appendBytes(hN);
        }
        MessageBytes hV=headers.getValue(i);
        responseMessage.appendBytes(hV);
    }

    // Write to buffer
    responseMessage.end();
    output(responseMessage.getBuffer(), 0,
            responseMessage.getLen());
}
 
开发者ID:WhiteBearSolutions,项目名称:WBSAirback,代码行数:65,代码来源:AbstractAjpProcessor.java

示例5: sendStatus

import org.apache.tomcat.util.http.HttpMessages; //导入方法依赖的package包/类
/**
 * Send the response status line.
 */
public void sendStatus() {

    // Write protocol name
    write(Constants.HTTP_11_BYTES);
    buf[pos++] = Constants.SP;

    // Write status code
    int status = response.getStatus();
    switch (status) {
    case 200:
        write(Constants._200_BYTES);
        break;
    case 400:
        write(Constants._400_BYTES);
        break;
    case 404:
        write(Constants._404_BYTES);
        break;
    default:
        write(status);
    }

    buf[pos++] = Constants.SP;

    // Write message
    String message = null;
    if (org.apache.coyote.Constants.USE_CUSTOM_STATUS_MSG_IN_HEADER &&
            HttpMessages.isSafeInHttpHeader(response.getMessage())) {
        message = response.getMessage();
    }
    if (message == null) {
        write(HttpMessages.getMessage(status)); 
    } else {
        write(message);
    }

    // End the response status line
    if (org.apache.coyote.Constants.IS_SECURITY_ENABLED){
       AccessController.doPrivileged(
            new PrivilegedAction<Void>(){
                @Override
                public Void run(){
                    buf[pos++] = Constants.CR;
                    buf[pos++] = Constants.LF;
                    return null;
                }
            }
       );
    } else {
        buf[pos++] = Constants.CR;
        buf[pos++] = Constants.LF;
    }

}
 
开发者ID:WhiteBearSolutions,项目名称:WBSAirback,代码行数:58,代码来源:AbstractOutputBuffer.java


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