in common/src/main/java/org/apache/asyncweb/common/codec/HttpRequestEncoder.java [45:76]
public void encode(
IoSession session, Object message,
ProtocolEncoderOutput out) throws Exception {
HttpRequest req = (HttpRequest) message;
if (req instanceof MutableHttpRequest) {
((MutableHttpRequest) req).normalize();
}
asciiEncoder.reset();
IoBuffer buf = IoBuffer.allocate(256).setAutoExpand(true);
// Write request line.
buf.putString(req.getMethod().toString(), asciiEncoder);
buf.put((byte) ' ');
URI uri = req.getRequestUri();
buf.putString(uri.getPath(), asciiEncoder);
String query = uri.getQuery();
if (query != null && query.length() > 0) {
buf.put((byte) '?');
buf.putString(query, asciiEncoder);
}
buf.putString(" HTTP/1.1", asciiEncoder);
HttpCodecUtils.appendCRLF(buf);
HttpCodecUtils.encodeHeaders(req, buf, asciiEncoder);
HttpCodecUtils.encodeBody(req, buf);
buf.flip();
out.write(buf);
}