1 /*
2 * Copyright 2010 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.rtsp;
17
18 import org.jboss.netty.buffer.ChannelBuffer;
19 import org.jboss.netty.handler.codec.http.HttpMessage;
20 import org.jboss.netty.handler.codec.http.HttpRequest;
21
22 /**
23 * Encodes an RTSP request represented in {@link HttpRequest} into
24 * a {@link ChannelBuffer}.
25
26 * @author <a href="http://www.jboss.org/netty/">The Netty Project</a>
27 * @author <a href="http://amitbhayani.blogspot.com/">Amit Bhayani</a>
28 * @author <a href="http://gleamynode.net/">Trustin Lee</a>
29 * @version $Rev: 2117 $, $Date: 2010-02-01 17:28:17 +0900 (Mon, 01 Feb 2010) $
30 */
31 public class RtspRequestEncoder extends RtspMessageEncoder {
32
33 @Override
34 protected void encodeInitialLine(ChannelBuffer buf, HttpMessage message)
35 throws Exception {
36 HttpRequest request = (HttpRequest) message;
37 buf.writeBytes(request.getMethod().toString().getBytes("ASCII"));
38 buf.writeByte((byte) ' ');
39 buf.writeBytes(request.getUri().getBytes("ASCII"));
40 buf.writeByte((byte) ' ');
41 buf.writeBytes(request.getProtocolVersion().toString().getBytes("ASCII"));
42 buf.writeByte((byte) '\r');
43 buf.writeByte((byte) '\n');
44 }
45 }