diff --git a/src/main/java/org/jboss/netty/handler/codec/rtsp/RtspMethod.java b/src/main/java/org/jboss/netty/handler/codec/rtsp/RtspMethods.java similarity index 76% rename from src/main/java/org/jboss/netty/handler/codec/rtsp/RtspMethod.java rename to src/main/java/org/jboss/netty/handler/codec/rtsp/RtspMethods.java index 3c9f94d4d5..61f65804fb 100644 --- a/src/main/java/org/jboss/netty/handler/codec/rtsp/RtspMethod.java +++ b/src/main/java/org/jboss/netty/handler/codec/rtsp/RtspMethods.java @@ -28,68 +28,76 @@ import org.jboss.netty.handler.codec.http.HttpMethod; * @author Trustin Lee (trustin@gmail.com) * @version $Rev$, $Date$ */ -public class RtspMethod extends HttpMethod { +public class RtspMethods { + + /** + * The OPTIONS method represents a request for information about the communication options available on the request/response + * chain identified by the Request-URI. This method allows the client to determine the options and/or requirements + * associated with a resource, or the capabilities of a server, without implying a resource action or initiating a + * resource retrieval. + */ + public static final HttpMethod OPTIONS = HttpMethod.OPTIONS; /** * The DESCRIBE method retrieves the description of a presentation or * media object identified by the request URL from a server. */ - public static final RtspMethod DESCRIBE = new RtspMethod("DESCRIBE"); + public static final HttpMethod DESCRIBE = new HttpMethod("DESCRIBE"); /** * The ANNOUNCE posts the description of a presentation or media object * identified by the request URL to a server, or updates the client-side * session description in real-time. */ - public static final RtspMethod ANNOUNCE = new RtspMethod("ANNOUNCE"); + public static final HttpMethod ANNOUNCE = new HttpMethod("ANNOUNCE"); /** * The SETUP request for a URI specifies the transport mechanism to be * used for the streamed media. */ - public static final RtspMethod SETUP = new RtspMethod("SETUP"); + public static final HttpMethod SETUP = new HttpMethod("SETUP"); /** * The PLAY method tells the server to start sending data via the * mechanism specified in SETUP. */ - public static final RtspMethod PLAY = new RtspMethod("PLAY"); + public static final HttpMethod PLAY = new HttpMethod("PLAY"); /** * The PAUSE request causes the stream delivery to be interrupted * (halted) temporarily. */ - public static final RtspMethod PAUSE = new RtspMethod("PAUSE"); + public static final HttpMethod PAUSE = new HttpMethod("PAUSE"); /** * The TEARDOWN request stops the stream delivery for the given URI, * freeing the resources associated with it. */ - public static final RtspMethod TEARDOWN = new RtspMethod("TEARDOWN"); + public static final HttpMethod TEARDOWN = new HttpMethod("TEARDOWN"); /** * The GET_PARAMETER request retrieves the value of a parameter of a * presentation or stream specified in the URI. */ - public static final RtspMethod GET_PARAMETER = new RtspMethod("GET_PARAMETER"); + public static final HttpMethod GET_PARAMETER = new HttpMethod("GET_PARAMETER"); /** * The SET_PARAMETER requests to set the value of a parameter for a * presentation or stream specified by the URI. */ - public static final RtspMethod SET_PARAMETER = new RtspMethod("SET_PARAMETER"); + public static final HttpMethod SET_PARAMETER = new HttpMethod("SET_PARAMETER"); /** * The REDIRECT request informs the client that it must connect to another * server location. */ - public static final RtspMethod REDIRECT = new RtspMethod("REDIRECT"); + public static final HttpMethod REDIRECT = new HttpMethod("REDIRECT"); /** * The RECORD method initiates recording a range of media data according to * the presentation description. */ - public static final RtspMethod RECORD = new RtspMethod("RECORD"); + public static final HttpMethod RECORD = new HttpMethod("RECORD"); private static final Map methodMap = new HashMap(); @@ -107,20 +115,10 @@ public class RtspMethod extends HttpMethod { methodMap.put(TEARDOWN.toString(), TEARDOWN); } - /** - * Creates a new RTSP method with the specified name. - */ - public RtspMethod(String name) { - super(name); - } - /** * Returns the {@link HttpMethod} represented by the specified name. * If the specified name is a standard RTSP method name, a cached instance * will be returned. Otherwise, a new instance will be returned. - * Please note that this method does not return {@link RtspMethod} but - * returns {@link HttpMethod} because the RTSP re-uses some HTTP methods - * in its specification. */ public static HttpMethod valueOf(String name) { if (name == null) { @@ -136,8 +134,12 @@ public class RtspMethod extends HttpMethod { if (result != null) { return result; } else { - return new RtspMethod(name); + return new HttpMethod(name); } } + private RtspMethods() { + super(); + } + } diff --git a/src/main/java/org/jboss/netty/handler/codec/rtsp/RtspRequestDecoder.java b/src/main/java/org/jboss/netty/handler/codec/rtsp/RtspRequestDecoder.java index cd25c6c75a..e328a34a90 100644 --- a/src/main/java/org/jboss/netty/handler/codec/rtsp/RtspRequestDecoder.java +++ b/src/main/java/org/jboss/netty/handler/codec/rtsp/RtspRequestDecoder.java @@ -23,7 +23,7 @@ import org.jboss.netty.handler.codec.http.HttpRequest; /** * Decodes {@link ChannelBuffer}s into {@link HttpRequest}s whose method is - * {@link RtspMethod} and protocol version is {@link RtspVersion}. + * {@link RtspMethods} and protocol version is {@link RtspVersion}. *

* Please refer to {@link HttpMessageDecoder} for the detailed information on * how this decoder works and what parameters are available. @@ -55,7 +55,7 @@ public class RtspRequestDecoder extends HttpMessageDecoder { @Override protected HttpMessage createMessage(String[] initialLine) throws Exception { return new DefaultHttpRequest(RtspVersion.valueOf(initialLine[2]), - RtspMethod.valueOf(initialLine[0]), initialLine[1]); + RtspMethods.valueOf(initialLine[0]), initialLine[1]); } @Override