1 /* 2 * Copyright 2009 Red Hat, Inc. 3 * 4 * Red Hat 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 6 * License. You may obtain a copy of the License at: 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 * License for the specific language governing permissions and limitations 14 * under the License. 15 */ 16 package org.jboss.netty.handler.codec.http2; 17 18 import static org.jboss.netty.handler.codec.http2.HttpCodecUtil.*; 19 20 import org.jboss.netty.buffer.ChannelBuffer; 21 22 /** 23 * Encodes an {@link HttpRequest} or an {@link HttpChunk} into 24 * a {@link ChannelBuffer}. 25 * 26 * @author <a href="http://www.jboss.org/netty/">The Netty Project</a> 27 * @author Andy Taylor (andy.taylor@jboss.org) 28 * @author <a href="http://gleamynode.net/">Trustin Lee</a> 29 * @version $Rev: 619 $, $Date: 2010-11-11 20:30:06 +0100 (jeu., 11 nov. 2010) $ 30 */ 31 public class HttpRequestEncoder extends HttpMessageEncoder { 32 33 /** 34 * Creates a new instance. 35 */ 36 public HttpRequestEncoder() { 37 super(); 38 } 39 40 @Override 41 protected void encodeInitialLine(ChannelBuffer buf, HttpMessage message) throws Exception { 42 HttpRequest request = (HttpRequest) message; 43 buf.writeBytes(request.getMethod().toString().getBytes("ASCII")); 44 buf.writeByte(SP); 45 buf.writeBytes(request.getUri().getBytes("ASCII")); 46 buf.writeByte(SP); 47 buf.writeBytes(request.getProtocolVersion().toString().getBytes("ASCII")); 48 buf.writeByte(CR); 49 buf.writeByte(LF); 50 } 51 }