org.apache.coyote.Response类的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(11.8k)|赞(0)|评价(0)|浏览(171)

本文整理了Java中org.apache.coyote.Response类的一些代码示例,展示了Response类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Response类的具体详情如下:
包路径:org.apache.coyote.Response
类名称:Response

Response介绍

[英]Response object.
[中]响应对象。

代码示例

代码示例来源:origin: line/armeria

private static HttpHeaders convertResponse(Response coyoteRes) {
  final HttpHeaders headers = HttpHeaders.of(HttpStatus.valueOf(coyoteRes.getStatus()));
  final String contentType = coyoteRes.getContentType();
  if (contentType != null && !contentType.isEmpty()) {
    headers.set(HttpHeaderNames.CONTENT_TYPE, contentType);
  }
  final long contentLength = coyoteRes.getBytesWritten(true); // 'true' will trigger flush.
  final String method = coyoteRes.getRequest().method().toString();
  if (!"HEAD".equals(method)) {
    headers.setLong(HttpHeaderNames.CONTENT_LENGTH, contentLength);
  }
  final MimeHeaders cHeaders = coyoteRes.getMimeHeaders();
  final int numHeaders = cHeaders.size();
  for (int i = 0; i < numHeaders; i++) {
    final AsciiString name = toHeaderName(cHeaders.getName(i));
    if (name == null) {
      continue;
    }
    final String value = toHeaderValue(cHeaders.getValue(i));
    if (value == null) {
      continue;
    }
    headers.add(name.toLowerCase(), value);
  }
  return headers;
}

代码示例来源:origin: org.apache.geronimo.modules/geronimo-tomcat6

request.getCoyoteRequest().getMimeHeaders()
.getValue("authorization");
authorization.toBytes();
ByteChunk authorizationBC = authorization.getByteChunk();
if (authorizationBC.startsWithIgnoreCase("basic ", 0)) {
  authorizationBC.setOffset(authorizationBC.getOffset() + 6);
  CharChunk authorizationCC = authorization.getCharChunk();
  Base64.decode(authorizationBC, authorizationCC);
try {
  MessageBytes authenticate =
      response.getCoyoteResponse().getMimeHeaders()
      .addValue(AUTHENTICATE_BYTES, 0, AUTHENTICATE_BYTES.length);
  CharChunk authenticateCC = authenticate.getCharChunk();
  authenticateCC.append("Basic realm=\"");
  authenticateCC.append('\"');
  authenticate.toChars();
  response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
  return new AuthResult(TomcatAuthStatus.SEND_CONTINUE, null);
} catch (IOException e) {

代码示例来源:origin: codefollower/Tomcat-Research

rframe.associated = 0;
MimeHeaders headers = response.getMimeHeaders();
for (int i = 0; i < headers.size(); i++) {
  MessageBytes mb = headers.getName(i);
  mb.toBytes();
  ByteChunk bc = mb.getByteChunk();
  byte[] bb = bc.getBuffer();
  for (int j = bc.getStart(); j < bc.getEnd(); j++) {
    bb[j] = (byte) Ascii.toLower(bb[j]);
if (response.getStatus() == 0) {
  rframe.addHeader(SpdyFrame.STATUS, SpdyFrame.OK200);
} else {
      && HttpMessages.isSafeInHttpHeader(response.getMessage())) {
    message = response.getMessage();
        response.getLocale()).getMessage(response.getStatus());
    message = Integer.toString(response.getStatus());
  String status = response.getStatus() + " " + message;
  byte[] statusB = status.getBytes();
  rframe.headerName(SpdyFrame.STATUS, 0, SpdyFrame.STATUS.length);

代码示例来源:origin: org.osivia.portal.core/osivia-portal-jbossas-jbossweb-lib

/*      */   public String[] getHeaderNames()
/*      */   {
/*  859 */     MimeHeaders headers = this.coyoteResponse.getMimeHeaders();
/*  860 */     int n = headers.size();
/*  861 */     String[] result = new String[n];
/*  862 */     for (int i = 0; i < n; i++) {
/*  863 */       result[i] = headers.getName(i).toString();
/*      */     }
/*  865 */     return result;
/*      */   }
/*      */

代码示例来源:origin: org.jboss.web/jbossweb

MessageBytes acceptEncodingMB = request.getMimeHeaders().getValue("accept-encoding");
if ((acceptEncodingMB == null) || (acceptEncodingMB.indexOf("gzip") == -1))
  return false;
MessageBytes contentEncodingMB = response.getMimeHeaders().getValue("Content-Encoding");
if ((contentEncodingMB != null) && (contentEncodingMB.indexOf("gzip") != -1))
  return false;
  MessageBytes userAgentValueMB = request.getMimeHeaders().getValue("user-agent");
  if (userAgentValueMB != null) {
    String userAgentValue = userAgentValueMB.toString();
long contentLength = response.getContentLengthLong();
if ((contentLength == -1) || (contentLength > compressionMinSize)) {
    return (startsWithStringArray(compressableMimeTypes, response.getContentType()));

代码示例来源:origin: org.ops4j.pax.tipi/org.ops4j.pax.tipi.tomcat-embed-core

protected void parseHost(MessageBytes valueMB) {
  if (valueMB == null || valueMB.isNull()) {
    populateHost();
    return;
        char c = (char) valueB[i + valueS];
        if (c < '0' || c > '9') {
          response.setStatus(400);
          setErrorState(ErrorState.CLOSE_CLEAN, null);
          return;
      request.setServerPort(port);
      hostNameC[i] = (char) valueB[i + valueS];
    request.serverName().setChars(hostNameC, 0, valueL);
      String message = sm.getString("abstractProcessor.hostInvalid", valueMB.toString());
      switch (logMode) {
        case INFO_THEN_DEBUG:
          message += sm.getString("abstractProcessor.fallToDebug");
    response.setStatus(400);
    setErrorState(ErrorState.CLOSE_CLEAN, e);

代码示例来源:origin: org.osivia.portal.core/osivia-portal-jbossas-jbossweb-lib

/*      */   public void sendError(int status, String message)
/*      */     throws IOException
/*      */   {
/* 1188 */     if (isCommitted()) {
/* 1189 */       throw new IllegalStateException(sm.getString("coyoteResponse.sendError.ise"));
/*      */     }
/*      */ 
/* 1193 */     if (this.included) {
/* 1194 */       return;
/*      */     }
/* 1196 */     Wrapper wrapper = getRequest().getWrapper();
/* 1197 */     if (wrapper != null) {
/* 1198 */       wrapper.incrementErrorCount();
/*      */     }
/*      */ 
/* 1201 */     setError();
/*      */ 
/* 1203 */     this.coyoteResponse.setStatus(status);
/* 1204 */     this.coyoteResponse.setMessage(message);
/*      */ 
/* 1207 */     resetBuffer();
/*      */ 
/* 1210 */     setSuspended(true);
/*      */   }
/*      */

代码示例来源:origin: org.apache.catalina/com.springsource.org.apache.catalina

if ((!coyoteResponse.isCommitted())
  && (coyoteResponse.getContentLengthLong() == -1)) {
  if (!coyoteResponse.isCommitted()) {
    coyoteResponse.setContentLength(bb.getLength());
Request req = (Request) coyoteResponse.getRequest().getNote(
    CoyoteAdapter.ADAPTER_NOTES);
req.inputBuffer.close();
coyoteResponse.finish();

代码示例来源:origin: com.ovea.tajin.server/tajin-server-tomcat7

/**
 * Flush bytes or chars contained in the buffer.
 * 
 * @throws IOException An underlying IOException occurred
 */
protected void doFlush(boolean realFlush)
  throws IOException {
  if (suspended)
    return;
  doFlush = true;
  if (initial) {
    coyoteResponse.sendHeaders();
    initial = false;
  }
  if (bb.getLength() > 0) {
    bb.flushBuffer();
  }
  doFlush = false;
  if (realFlush) {
    coyoteResponse.action(ActionCode.CLIENT_FLUSH, 
               coyoteResponse);
    // If some exception occurred earlier, or if some IOE occurred
    // here, notify the servlet with an IOE
    if (coyoteResponse.isExceptionPresent()) {
      throw new ClientAbortException
        (coyoteResponse.getErrorException());
    }
  }
}

代码示例来源:origin: org.glassfish.metro/webservices-extra

public void service(Request req, final Response res) throws Exception {
  MessageBytes mb = req.requestURI();
  String uri = req.requestURI().toString();
  if (uri.indexOf("..") >= 0) {
    res.setStatus(404);
    return;
    res.setStatus(404);
    return;
    res.setStatus(404);
    return;
  res.setStatus(200);
    String ct=getContentType(ext);
    if( ct!=null) {
      res.setContentType(ct);
  res.setContentLength((int)resource.length());        
  res.sendHeaders();
  ByteChunk chunk = new ByteChunk();
  int rd = 0;
  while ((rd = fis.read(b)) > 0) {
    chunk.setBytes(b, 0, rd);
    res.doWrite(chunk);
  res.finish();

代码示例来源:origin: codefollower/Tomcat-Research

/** Called by the processor before recycling the request. It'll collect
 * statistic information.
 */
void updateCounters() {
  bytesReceived+=req.getBytesRead();
  bytesSent+=req.getResponse().getContentWritten();
  requestCount++;
  if( req.getResponse().getStatus() >=400 )
    errorCount++;
  long t0=req.getStartTime();
  long t1=System.currentTimeMillis();
  long time=t1-t0;
  this.lastRequestProcessingTime = time;
  processingTime+=time;
  if( maxTime < time ) {
    maxTime=time;
    maxRequestUri=req.requestURI().toString();
  }
}

代码示例来源:origin: jboss.web/jbossweb

public SocketState event(SocketStatus status)
throws IOException {
  RequestInfo rp = request.getRequestProcessor();
  try {
    if (status == SocketStatus.OPEN_CALLBACK) {
    error = true;
  } catch (Throwable t) {
    log.error(sm.getString("http11processor.request.process"), t);
    response.setStatus(500);
    error = true;

代码示例来源:origin: org.glassfish.metro/webservices-extra

/**
 * Intercept the request and decide if we cache the static resource. If the
 * static resource is already cached, return it.
 */
public int handle(Request req, int handlerCode) throws IOException{
  if (fileCache == null) return Handler.CONTINUE;
  
  if (handlerCode == Handler.RESPONSE_PROCEEDED && fileCache.isEnabled()){
    String docroot = SelectorThread.getWebAppRootPath();
    MessageBytes mb = req.requestURI();
    ByteChunk requestURI = mb.getByteChunk();
    String uri = req.requestURI().toString();                
    fileCache.add(FileCache.DEFAULT_SERVLET_NAME,docroot,uri,
           req.getResponse().getMimeHeaders(),false);        
  } else if (handlerCode == Handler.HEADERS_PARSED) {
    ByteChunk requestURI = req.requestURI().getByteChunk(); 
    if (fileCache.sendCache(requestURI.getBytes(), requestURI.getStart(),
              requestURI.getLength(), socketChannel,
              keepAlive(req))){
      return Handler.BREAK;   
    }
  }     
  return Handler.CONTINUE;
}

代码示例来源:origin: org.glassfish.metro/webservices-extra

contentDelimitation = false;
if (sslSupport != null) {
  request.scheme().setString("https");
MessageBytes protocolMB = request.protocol();
if (protocolMB.equals(Constants.HTTP_11)) {
  http11 = true;
  protocolMB.setString(Constants.HTTP_11);
} else if (protocolMB.equals(Constants.HTTP_10)) {
  http11 = false;
  error = true;
  response.setStatus(505);
MessageBytes connectionValueMB = headers.getValue("connection");
if (connectionValueMB != null) {
  ByteChunk connectionValueBC = connectionValueMB.getByteChunk();

代码示例来源:origin: org.jboss.web/jbossweb

/** Called by the processor before recycling the request. It'll collect
 * statistic information.
 */
void updateCounters() {
  bytesReceived+=req.getBytesRead();
  bytesSent+=req.getResponse().getBytesWritten();
  requestCount++;
  if( req.getResponse().getStatus() >=400 )
    errorCount++;
  long t0=req.getStartTime();
  long t1=System.currentTimeMillis();
  long time=t1-t0;
  this.lastRequestProcessingTime = time;
  processingTime+=time;
  if( maxTime < time ) {
    maxTime=time;
    maxRequestUri=req.requestURI().toString();
  }
}

代码示例来源:origin: org.glassfish.metro/webservices-extra

request.getMimeHeaders().getValue("accept-encoding");
  || (acceptEncodingMB.indexOf("gzip") == -1))
  return false;
  response.getMimeHeaders().getValue("Content-Encoding");
  && (contentEncodingMB.indexOf("gzip") != -1))
  return false;
    request.getMimeHeaders().getValue("user-agent");
  if (userAgentValueMB != null) {
    String userAgentValue = userAgentValueMB.toString();
int contentLength = response.getContentLength();
if ((contentLength == -1) 
  || (contentLength > compressionMinSize)) {
        response.getContentType()));

代码示例来源:origin: org.jboss.web/jbossweb

return;
Request request = response.getRequest();
if (request.getUpgradeHandler() != null && request.isEventMode()) {
  request.getEvent().close();
  return;
if ((!coyoteResponse.isCommitted()) 
  && (coyoteResponse.getContentLengthLong() == -1)) {
  if (!coyoteResponse.isCommitted()) {
    coyoteResponse.setContentLength(bb.getLength());
closed = true;
coyoteResponse.finish();

代码示例来源:origin: org.ops4j.pax.tipi/org.ops4j.pax.tipi.tomcat-embed-core

/**
 * {@inheritDoc}
 * <p>
 * This implementation populates the server name and port from the local
 * name and port provided by the AJP message.
 */
@Override
protected void populateHost() {
  // No host information (HTTP/1.0)
  request.setServerPort(request.getLocalPort());
  try {
    request.serverName().duplicate(request.localName());
  } catch (IOException e) {
    response.setStatus(400);
    setErrorState(ErrorState.CLOSE_CLEAN, e);
  }
}

代码示例来源:origin: org.ops4j.pax.tipi/org.ops4j.pax.tipi.tomcat-embed-core

response.setError();
boolean blockIo = this.errorState.isIoAllowed() && !errorState.isIoAllowed();
this.errorState = this.errorState.getMostSevere(errorState);
if (response.getStatus() < 400 && !(t instanceof IOException)) {
  response.setStatus(500);
  request.setAttribute(RequestDispatcher.ERROR_EXCEPTION, t);
    getLog().debug(sm.getString("abstractProcessor.nonContainerThreadError"), t);

代码示例来源:origin: org.apache.coyote.springsource/com.springsource.org.apache.coyote.springsource

/**
 * Alternate constructor.
 */
public InternalOutputBuffer(Response response, int headerBufferSize) {
  this.response = response;
  
  headers = response.getMimeHeaders();
  buf = new byte[headerBufferSize];
  outputStreamOutputBuffer = new OutputStreamOutputBuffer();
  filterLibrary = new OutputFilter[0];
  activeFilters = new OutputFilter[0];
  lastActiveFilter = -1;
  socketBuffer = new ByteChunk();
  socketBuffer.setByteOutputChannel(this);
  committed = false;
  finished = false;
}

相关文章

微信公众号

最新文章

更多