1 /******************************************************************************* 2 * Copyright (c) 2011 Michael Mimo Moratti. 3 * 4 * Michael Mimo Moratti licenses this file to you under the Apache License, version 2.0 5 * (the "License"); you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at: 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * Unless required by applicable law or agreed to in writing, software 9 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 10 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 11 * License for the specific language governing permissions and limitations 12 * under the License. 13 *******************************************************************************/ 14 package ch.mimo.netty.handler.codec.icap; 15 16 import org.jboss.netty.buffer.ChannelBuffer; 17 18 /** 19 * ICAP Response encoder which takes an @see {@link IcapResponse} or @see {@link IcapChunk} to encode. 20 * @author Michael Mimo Moratti (mimo@mimo.ch) 21 * 22 */ 23 public class IcapResponseEncoder extends IcapMessageEncoder { 24 25 @Override 26 protected int encodeInitialLine(ChannelBuffer buffer, IcapMessage message) { 27 IcapResponse request = (IcapResponse)message; 28 int index = buffer.readableBytes(); 29 buffer.writeBytes(request.getProtocolVersion().toString().getBytes(IcapCodecUtil.ASCII_CHARSET)); 30 buffer.writeByte(IcapCodecUtil.SPACE); 31 request.getStatus().toResponseInitialLineValue(buffer); 32 buffer.writeBytes(IcapCodecUtil.CRLF); 33 return buffer.readableBytes() - index; 34 } 35 }