/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.
*/ package org.apache.coyote.ajp;
/** * Extends {@link AjpMessage} to provide additional methods for reading from the message. TODO: See if it makes sense * for any/all of these methods to be transferred to AjpMessage
*/ publicclass TesterAjpMessage extends AjpMessage {
privatefinal List<Header> headers = new ArrayList<>(); privatefinal List<Attribute> attributes = new ArrayList<>(); privatetransient Charset charset = StandardCharsets.UTF_8;
public TesterAjpMessage(int packetSize) { super(packetSize);
}
publicbyte readByte() { return buf[pos++];
}
publicint readInt() { int val = (buf[pos++] & 0xFF) << 8;
val += buf[pos++] & 0xFF; return val;
}
public String readString() { int len = readInt(); return readString(len);
}
public String readString(int len) {
CharBuffer buf = getCharset().decode(ByteBuffer.wrap(this.buf, pos, len));
pos += len; // Read end of string marker
readByte();
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.