Remove deprecated HttpHeaders sub classes and related classes (#8813)

Motivation:

Code cleanup;

Changes:

- Removed deprecated HttpHeaders.Names and HttpHeaders.Values sub classes;
- Removed cross reference between EmptyHttpHeaders and HttpHeaders;
- Removed depraced Rtsp* classes;

Result:

Removed deprecated code.
This commit is contained in:
Dmitriy Dumanskiy 2019-01-31 21:26:45 +02:00 committed by Norman Maurer
parent d7648f1d93
commit ab0c33adff
10 changed files with 2 additions and 1159 deletions

View File

@ -23,22 +23,10 @@ import java.util.Map.Entry;
import java.util.Set;
public class EmptyHttpHeaders extends HttpHeaders {
static final Iterator<Entry<CharSequence, CharSequence>> EMPTY_CHARS_ITERATOR =
private static final Iterator<Entry<CharSequence, CharSequence>> EMPTY_CHARS_ITERATOR =
Collections.<Entry<CharSequence, CharSequence>>emptyList().iterator();
public static final EmptyHttpHeaders INSTANCE = instance();
/**
* @see InstanceInitializer#EMPTY_HEADERS
* @deprecated Use {@link EmptyHttpHeaders#INSTANCE}
* <p>
* This is needed to break a cyclic static initialization loop between {@link HttpHeaders} and {@link
* EmptyHttpHeaders}.
*/
@Deprecated
static EmptyHttpHeaders instance() {
return InstanceInitializer.EMPTY_HEADERS;
}
public static final EmptyHttpHeaders INSTANCE = new EmptyHttpHeaders();
protected EmptyHttpHeaders() {
}
@ -168,21 +156,4 @@ public class EmptyHttpHeaders extends HttpHeaders {
return EMPTY_CHARS_ITERATOR;
}
/**
* This class is needed to break a cyclic static initialization loop between {@link HttpHeaders} and
* {@link EmptyHttpHeaders}.
*/
@Deprecated
private static final class InstanceInitializer {
/**
* The instance is instantiated here to break the cyclic static initialization between {@link EmptyHttpHeaders}
* and {@link HttpHeaders}. The issue is that if someone accesses {@link EmptyHttpHeaders#INSTANCE} before
* {@link HttpHeaders#EMPTY_HEADERS} then {@link HttpHeaders#EMPTY_HEADERS} will be {@code null}.
*/
@Deprecated
private static final EmptyHttpHeaders EMPTY_HEADERS = new EmptyHttpHeaders();
private InstanceInitializer() {
}
}
}

View File

@ -42,468 +42,6 @@ import static io.netty.util.internal.ObjectUtil.checkNotNull;
* commonly used utility methods that accesses an {@link HttpMessage}.
*/
public abstract class HttpHeaders implements Iterable<Map.Entry<String, String>> {
/**
* @deprecated Use {@link EmptyHttpHeaders#INSTANCE}.
* <p>
* The instance is instantiated here to break the cyclic static initialization between {@link EmptyHttpHeaders} and
* {@link HttpHeaders}. The issue is that if someone accesses {@link EmptyHttpHeaders#INSTANCE} before
* {@link HttpHeaders#EMPTY_HEADERS} then {@link HttpHeaders#EMPTY_HEADERS} will be {@code null}.
*/
@Deprecated
public static final HttpHeaders EMPTY_HEADERS = EmptyHttpHeaders.instance();
/**
* @deprecated Use {@link HttpHeaderNames} instead.
*
* Standard HTTP header names.
*/
@Deprecated
public static final class Names {
/**
* {@code "Accept"}
*/
public static final String ACCEPT = "Accept";
/**
* {@code "Accept-Charset"}
*/
public static final String ACCEPT_CHARSET = "Accept-Charset";
/**
* {@code "Accept-Encoding"}
*/
public static final String ACCEPT_ENCODING = "Accept-Encoding";
/**
* {@code "Accept-Language"}
*/
public static final String ACCEPT_LANGUAGE = "Accept-Language";
/**
* {@code "Accept-Ranges"}
*/
public static final String ACCEPT_RANGES = "Accept-Ranges";
/**
* {@code "Accept-Patch"}
*/
public static final String ACCEPT_PATCH = "Accept-Patch";
/**
* {@code "Access-Control-Allow-Credentials"}
*/
public static final String ACCESS_CONTROL_ALLOW_CREDENTIALS = "Access-Control-Allow-Credentials";
/**
* {@code "Access-Control-Allow-Headers"}
*/
public static final String ACCESS_CONTROL_ALLOW_HEADERS = "Access-Control-Allow-Headers";
/**
* {@code "Access-Control-Allow-Methods"}
*/
public static final String ACCESS_CONTROL_ALLOW_METHODS = "Access-Control-Allow-Methods";
/**
* {@code "Access-Control-Allow-Origin"}
*/
public static final String ACCESS_CONTROL_ALLOW_ORIGIN = "Access-Control-Allow-Origin";
/**
* {@code "Access-Control-Expose-Headers"}
*/
public static final String ACCESS_CONTROL_EXPOSE_HEADERS = "Access-Control-Expose-Headers";
/**
* {@code "Access-Control-Max-Age"}
*/
public static final String ACCESS_CONTROL_MAX_AGE = "Access-Control-Max-Age";
/**
* {@code "Access-Control-Request-Headers"}
*/
public static final String ACCESS_CONTROL_REQUEST_HEADERS = "Access-Control-Request-Headers";
/**
* {@code "Access-Control-Request-Method"}
*/
public static final String ACCESS_CONTROL_REQUEST_METHOD = "Access-Control-Request-Method";
/**
* {@code "Age"}
*/
public static final String AGE = "Age";
/**
* {@code "Allow"}
*/
public static final String ALLOW = "Allow";
/**
* {@code "Authorization"}
*/
public static final String AUTHORIZATION = "Authorization";
/**
* {@code "Cache-Control"}
*/
public static final String CACHE_CONTROL = "Cache-Control";
/**
* {@code "Connection"}
*/
public static final String CONNECTION = "Connection";
/**
* {@code "Content-Base"}
*/
public static final String CONTENT_BASE = "Content-Base";
/**
* {@code "Content-Encoding"}
*/
public static final String CONTENT_ENCODING = "Content-Encoding";
/**
* {@code "Content-Language"}
*/
public static final String CONTENT_LANGUAGE = "Content-Language";
/**
* {@code "Content-Length"}
*/
public static final String CONTENT_LENGTH = "Content-Length";
/**
* {@code "Content-Location"}
*/
public static final String CONTENT_LOCATION = "Content-Location";
/**
* {@code "Content-Transfer-Encoding"}
*/
public static final String CONTENT_TRANSFER_ENCODING = "Content-Transfer-Encoding";
/**
* {@code "Content-MD5"}
*/
public static final String CONTENT_MD5 = "Content-MD5";
/**
* {@code "Content-Range"}
*/
public static final String CONTENT_RANGE = "Content-Range";
/**
* {@code "Content-Type"}
*/
public static final String CONTENT_TYPE = "Content-Type";
/**
* {@code "Cookie"}
*/
public static final String COOKIE = "Cookie";
/**
* {@code "Date"}
*/
public static final String DATE = "Date";
/**
* {@code "ETag"}
*/
public static final String ETAG = "ETag";
/**
* {@code "Expect"}
*/
public static final String EXPECT = "Expect";
/**
* {@code "Expires"}
*/
public static final String EXPIRES = "Expires";
/**
* {@code "From"}
*/
public static final String FROM = "From";
/**
* {@code "Host"}
*/
public static final String HOST = "Host";
/**
* {@code "If-Match"}
*/
public static final String IF_MATCH = "If-Match";
/**
* {@code "If-Modified-Since"}
*/
public static final String IF_MODIFIED_SINCE = "If-Modified-Since";
/**
* {@code "If-None-Match"}
*/
public static final String IF_NONE_MATCH = "If-None-Match";
/**
* {@code "If-Range"}
*/
public static final String IF_RANGE = "If-Range";
/**
* {@code "If-Unmodified-Since"}
*/
public static final String IF_UNMODIFIED_SINCE = "If-Unmodified-Since";
/**
* {@code "Last-Modified"}
*/
public static final String LAST_MODIFIED = "Last-Modified";
/**
* {@code "Location"}
*/
public static final String LOCATION = "Location";
/**
* {@code "Max-Forwards"}
*/
public static final String MAX_FORWARDS = "Max-Forwards";
/**
* {@code "Origin"}
*/
public static final String ORIGIN = "Origin";
/**
* {@code "Pragma"}
*/
public static final String PRAGMA = "Pragma";
/**
* {@code "Proxy-Authenticate"}
*/
public static final String PROXY_AUTHENTICATE = "Proxy-Authenticate";
/**
* {@code "Proxy-Authorization"}
*/
public static final String PROXY_AUTHORIZATION = "Proxy-Authorization";
/**
* {@code "Range"}
*/
public static final String RANGE = "Range";
/**
* {@code "Referer"}
*/
public static final String REFERER = "Referer";
/**
* {@code "Retry-After"}
*/
public static final String RETRY_AFTER = "Retry-After";
/**
* {@code "Sec-WebSocket-Key1"}
*/
public static final String SEC_WEBSOCKET_KEY1 = "Sec-WebSocket-Key1";
/**
* {@code "Sec-WebSocket-Key2"}
*/
public static final String SEC_WEBSOCKET_KEY2 = "Sec-WebSocket-Key2";
/**
* {@code "Sec-WebSocket-Location"}
*/
public static final String SEC_WEBSOCKET_LOCATION = "Sec-WebSocket-Location";
/**
* {@code "Sec-WebSocket-Origin"}
*/
public static final String SEC_WEBSOCKET_ORIGIN = "Sec-WebSocket-Origin";
/**
* {@code "Sec-WebSocket-Protocol"}
*/
public static final String SEC_WEBSOCKET_PROTOCOL = "Sec-WebSocket-Protocol";
/**
* {@code "Sec-WebSocket-Version"}
*/
public static final String SEC_WEBSOCKET_VERSION = "Sec-WebSocket-Version";
/**
* {@code "Sec-WebSocket-Key"}
*/
public static final String SEC_WEBSOCKET_KEY = "Sec-WebSocket-Key";
/**
* {@code "Sec-WebSocket-Accept"}
*/
public static final String SEC_WEBSOCKET_ACCEPT = "Sec-WebSocket-Accept";
/**
* {@code "Server"}
*/
public static final String SERVER = "Server";
/**
* {@code "Set-Cookie"}
*/
public static final String SET_COOKIE = "Set-Cookie";
/**
* {@code "Set-Cookie2"}
*/
public static final String SET_COOKIE2 = "Set-Cookie2";
/**
* {@code "TE"}
*/
public static final String TE = "TE";
/**
* {@code "Trailer"}
*/
public static final String TRAILER = "Trailer";
/**
* {@code "Transfer-Encoding"}
*/
public static final String TRANSFER_ENCODING = "Transfer-Encoding";
/**
* {@code "Upgrade"}
*/
public static final String UPGRADE = "Upgrade";
/**
* {@code "User-Agent"}
*/
public static final String USER_AGENT = "User-Agent";
/**
* {@code "Vary"}
*/
public static final String VARY = "Vary";
/**
* {@code "Via"}
*/
public static final String VIA = "Via";
/**
* {@code "Warning"}
*/
public static final String WARNING = "Warning";
/**
* {@code "WebSocket-Location"}
*/
public static final String WEBSOCKET_LOCATION = "WebSocket-Location";
/**
* {@code "WebSocket-Origin"}
*/
public static final String WEBSOCKET_ORIGIN = "WebSocket-Origin";
/**
* {@code "WebSocket-Protocol"}
*/
public static final String WEBSOCKET_PROTOCOL = "WebSocket-Protocol";
/**
* {@code "WWW-Authenticate"}
*/
public static final String WWW_AUTHENTICATE = "WWW-Authenticate";
private Names() {
}
}
/**
* @deprecated Use {@link HttpHeaderValues} instead.
*
* Standard HTTP header values.
*/
@Deprecated
public static final class Values {
/**
* {@code "application/json"}
*/
public static final String APPLICATION_JSON = "application/json";
/**
* {@code "application/x-www-form-urlencoded"}
*/
public static final String APPLICATION_X_WWW_FORM_URLENCODED =
"application/x-www-form-urlencoded";
/**
* {@code "base64"}
*/
public static final String BASE64 = "base64";
/**
* {@code "binary"}
*/
public static final String BINARY = "binary";
/**
* {@code "boundary"}
*/
public static final String BOUNDARY = "boundary";
/**
* {@code "bytes"}
*/
public static final String BYTES = "bytes";
/**
* {@code "charset"}
*/
public static final String CHARSET = "charset";
/**
* {@code "chunked"}
*/
public static final String CHUNKED = "chunked";
/**
* {@code "close"}
*/
public static final String CLOSE = "close";
/**
* {@code "compress"}
*/
public static final String COMPRESS = "compress";
/**
* {@code "100-continue"}
*/
public static final String CONTINUE = "100-continue";
/**
* {@code "deflate"}
*/
public static final String DEFLATE = "deflate";
/**
* {@code "gzip"}
*/
public static final String GZIP = "gzip";
/**
* {@code "gzip,deflate"}
*/
public static final String GZIP_DEFLATE = "gzip,deflate";
/**
* {@code "identity"}
*/
public static final String IDENTITY = "identity";
/**
* {@code "keep-alive"}
*/
public static final String KEEP_ALIVE = "keep-alive";
/**
* {@code "max-age"}
*/
public static final String MAX_AGE = "max-age";
/**
* {@code "max-stale"}
*/
public static final String MAX_STALE = "max-stale";
/**
* {@code "min-fresh"}
*/
public static final String MIN_FRESH = "min-fresh";
/**
* {@code "multipart/form-data"}
*/
public static final String MULTIPART_FORM_DATA = "multipart/form-data";
/**
* {@code "must-revalidate"}
*/
public static final String MUST_REVALIDATE = "must-revalidate";
/**
* {@code "no-cache"}
*/
public static final String NO_CACHE = "no-cache";
/**
* {@code "no-store"}
*/
public static final String NO_STORE = "no-store";
/**
* {@code "no-transform"}
*/
public static final String NO_TRANSFORM = "no-transform";
/**
* {@code "none"}
*/
public static final String NONE = "none";
/**
* {@code "only-if-cached"}
*/
public static final String ONLY_IF_CACHED = "only-if-cached";
/**
* {@code "private"}
*/
public static final String PRIVATE = "private";
/**
* {@code "proxy-revalidate"}
*/
public static final String PROXY_REVALIDATE = "proxy-revalidate";
/**
* {@code "public"}
*/
public static final String PUBLIC = "public";
/**
* {@code "quoted-printable"}
*/
public static final String QUOTED_PRINTABLE = "quoted-printable";
/**
* {@code "s-maxage"}
*/
public static final String S_MAXAGE = "s-maxage";
/**
* {@code "trailers"}
*/
public static final String TRAILERS = "trailers";
/**
* {@code "Upgrade"}
*/
public static final String UPGRADE = "Upgrade";
/**
* {@code "WebSocket"}
*/
public static final String WEBSOCKET = "WebSocket";
private Values() {
}
}
/**
* @deprecated Use {@link HttpUtil#isKeepAlive(HttpMessage)} instead.

View File

@ -1,398 +0,0 @@
/*
* Copyright 2012 The Netty Project
*
* The Netty Project licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
package io.netty.handler.codec.rtsp;
import io.netty.handler.codec.http.HttpHeaders;
/**
* @deprecated Use {@link RtspHeaderNames} or {@link RtspHeaderValues} instead.
* Standard RTSP header names and values.
*/
@Deprecated
@SuppressWarnings("deprecation")
public final class RtspHeaders {
/**
* @deprecated Use {@link RtspHeaderNames} instead.
*
* Standard RTSP header names.
*/
@Deprecated
public static final class Names {
/**
* {@code "Accept"}
*/
public static final String ACCEPT = HttpHeaders.Names.ACCEPT;
/**
* {@code "Accept-Encoding"}
*/
public static final String ACCEPT_ENCODING = HttpHeaders.Names.ACCEPT_ENCODING;
/**
* {@code "Accept-Language"}
*/
public static final String ACCEPT_LANGUAGE = HttpHeaders.Names.ACCEPT_LANGUAGE;
/**
* {@code "Allow"}
*/
public static final String ALLOW = "Allow";
/**
* {@code "Authorization"}
*/
public static final String AUTHORIZATION = HttpHeaders.Names.AUTHORIZATION;
/**
* {@code "Bandwidth"}
*/
public static final String BANDWIDTH = "Bandwidth";
/**
* {@code "Blocksize"}
*/
public static final String BLOCKSIZE = "Blocksize";
/**
* {@code "Cache-Control"}
*/
public static final String CACHE_CONTROL = HttpHeaders.Names.CACHE_CONTROL;
/**
* {@code "Conference"}
*/
public static final String CONFERENCE = "Conference";
/**
* {@code "Connection"}
*/
public static final String CONNECTION = HttpHeaders.Names.CONNECTION;
/**
* {@code "Content-Base"}
*/
public static final String CONTENT_BASE = HttpHeaders.Names.CONTENT_BASE;
/**
* {@code "Content-Encoding"}
*/
public static final String CONTENT_ENCODING = HttpHeaders.Names.CONTENT_ENCODING;
/**
* {@code "Content-Language"}
*/
public static final String CONTENT_LANGUAGE = HttpHeaders.Names.CONTENT_LANGUAGE;
/**
* {@code "Content-Length"}
*/
public static final String CONTENT_LENGTH = HttpHeaders.Names.CONTENT_LENGTH;
/**
* {@code "Content-Location"}
*/
public static final String CONTENT_LOCATION = HttpHeaders.Names.CONTENT_LOCATION;
/**
* {@code "Content-Type"}
*/
public static final String CONTENT_TYPE = HttpHeaders.Names.CONTENT_TYPE;
/**
* {@code "CSeq"}
*/
public static final String CSEQ = "CSeq";
/**
* {@code "Date"}
*/
public static final String DATE = HttpHeaders.Names.DATE;
/**
* {@code "Expires"}
*/
public static final String EXPIRES = HttpHeaders.Names.EXPIRES;
/**
* {@code "From"}
*/
public static final String FROM = HttpHeaders.Names.FROM;
/**
* {@code "Host"}
*/
public static final String HOST = HttpHeaders.Names.HOST;
/**
* {@code "If-Match"}
*/
public static final String IF_MATCH = HttpHeaders.Names.IF_MATCH;
/**
* {@code "If-Modified-Since"}
*/
public static final String IF_MODIFIED_SINCE = HttpHeaders.Names.IF_MODIFIED_SINCE;
/**
* {@code "KeyMgmt"}
*/
public static final String KEYMGMT = "KeyMgmt";
/**
* {@code "Last-Modified"}
*/
public static final String LAST_MODIFIED = HttpHeaders.Names.LAST_MODIFIED;
/**
* {@code "Proxy-Authenticate"}
*/
public static final String PROXY_AUTHENTICATE = HttpHeaders.Names.PROXY_AUTHENTICATE;
/**
* {@code "Proxy-Require"}
*/
public static final String PROXY_REQUIRE = "Proxy-Require";
/**
* {@code "Public"}
*/
public static final String PUBLIC = "Public";
/**
* {@code "Range"}
*/
public static final String RANGE = HttpHeaders.Names.RANGE;
/**
* {@code "Referer"}
*/
public static final String REFERER = HttpHeaders.Names.REFERER;
/**
* {@code "Require"}
*/
public static final String REQUIRE = "Require";
/**
* {@code "Retry-After"}
*/
public static final String RETRT_AFTER = HttpHeaders.Names.RETRY_AFTER;
/**
* {@code "RTP-Info"}
*/
public static final String RTP_INFO = "RTP-Info";
/**
* {@code "Scale"}
*/
public static final String SCALE = "Scale";
/**
* {@code "Session"}
*/
public static final String SESSION = "Session";
/**
* {@code "Server"}
*/
public static final String SERVER = HttpHeaders.Names.SERVER;
/**
* {@code "Speed"}
*/
public static final String SPEED = "Speed";
/**
* {@code "Timestamp"}
*/
public static final String TIMESTAMP = "Timestamp";
/**
* {@code "Transport"}
*/
public static final String TRANSPORT = "Transport";
/**
* {@code "Unsupported"}
*/
public static final String UNSUPPORTED = "Unsupported";
/**
* {@code "User-Agent"}
*/
public static final String USER_AGENT = HttpHeaders.Names.USER_AGENT;
/**
* {@code "Vary"}
*/
public static final String VARY = HttpHeaders.Names.VARY;
/**
* {@code "Via"}
*/
public static final String VIA = HttpHeaders.Names.VIA;
/**
* {@code "WWW-Authenticate"}
*/
public static final String WWW_AUTHENTICATE = HttpHeaders.Names.WWW_AUTHENTICATE;
private Names() {
}
}
/**
* @deprecated Use {@link RtspHeaderValues} instead.
*
* Standard RTSP header values.
*/
@Deprecated
public static final class Values {
/**
* {@code "append"}
*/
public static final String APPEND = "append";
/**
* {@code "AVP"}
*/
public static final String AVP = "AVP";
/**
* {@code "bytes"}
*/
public static final String BYTES = HttpHeaders.Values.BYTES;
/**
* {@code "charset"}
*/
public static final String CHARSET = HttpHeaders.Values.CHARSET;
/**
* {@code "client_port"}
*/
public static final String CLIENT_PORT = "client_port";
/**
* {@code "clock"}
*/
public static final String CLOCK = "clock";
/**
* {@code "close"}
*/
public static final String CLOSE = HttpHeaders.Values.CLOSE;
/**
* {@code "compress"}
*/
public static final String COMPRESS = HttpHeaders.Values.COMPRESS;
/**
* {@code "100-continue"}
*/
public static final String CONTINUE = HttpHeaders.Values.CONTINUE;
/**
* {@code "deflate"}
*/
public static final String DEFLATE = HttpHeaders.Values.DEFLATE;
/**
* {@code "destination"}
*/
public static final String DESTINATION = "destination";
/**
* {@code "gzip"}
*/
public static final String GZIP = HttpHeaders.Values.GZIP;
/**
* {@code "identity"}
*/
public static final String IDENTITY = HttpHeaders.Values.IDENTITY;
/**
* {@code "interleaved"}
*/
public static final String INTERLEAVED = "interleaved";
/**
* {@code "keep-alive"}
*/
public static final String KEEP_ALIVE = HttpHeaders.Values.KEEP_ALIVE;
/**
* {@code "layers"}
*/
public static final String LAYERS = "layers";
/**
* {@code "max-age"}
*/
public static final String MAX_AGE = HttpHeaders.Values.MAX_AGE;
/**
* {@code "max-stale"}
*/
public static final String MAX_STALE = HttpHeaders.Values.MAX_STALE;
/**
* {@code "min-fresh"}
*/
public static final String MIN_FRESH = HttpHeaders.Values.MIN_FRESH;
/**
* {@code "mode"}
*/
public static final String MODE = "mode";
/**
* {@code "multicast"}
*/
public static final String MULTICAST = "multicast";
/**
* {@code "must-revalidate"}
*/
public static final String MUST_REVALIDATE = HttpHeaders.Values.MUST_REVALIDATE;
/**
* {@code "none"}
*/
public static final String NONE = HttpHeaders.Values.NONE;
/**
* {@code "no-cache"}
*/
public static final String NO_CACHE = HttpHeaders.Values.NO_CACHE;
/**
* {@code "no-transform"}
*/
public static final String NO_TRANSFORM = HttpHeaders.Values.NO_TRANSFORM;
/**
* {@code "only-if-cached"}
*/
public static final String ONLY_IF_CACHED = HttpHeaders.Values.ONLY_IF_CACHED;
/**
* {@code "port"}
*/
public static final String PORT = "port";
/**
* {@code "private"}
*/
public static final String PRIVATE = HttpHeaders.Values.PRIVATE;
/**
* {@code "proxy-revalidate"}
*/
public static final String PROXY_REVALIDATE = HttpHeaders.Values.PROXY_REVALIDATE;
/**
* {@code "public"}
*/
public static final String PUBLIC = HttpHeaders.Values.PUBLIC;
/**
* {@code "RTP"}
*/
public static final String RTP = "RTP";
/**
* {@code "rtptime"}
*/
public static final String RTPTIME = "rtptime";
/**
* {@code "seq"}
*/
public static final String SEQ = "seq";
/**
* {@code "server_port"}
*/
public static final String SERVER_PORT = "server_port";
/**
* {@code "ssrc"}
*/
public static final String SSRC = "ssrc";
/**
* {@code "TCP"}
*/
public static final String TCP = "TCP";
/**
* {@code "time"}
*/
public static final String TIME = "time";
/**
* {@code "timeout"}
*/
public static final String TIMEOUT = "timeout";
/**
* {@code "ttl"}
*/
public static final String TTL = "ttl";
/**
* {@code "UDP"}
*/
public static final String UDP = "UDP";
/**
* {@code "unicast"}
*/
public static final String UNICAST = "unicast";
/**
* {@code "url"}
*/
public static final String URL = "url";
private Values() { }
}
private RtspHeaders() { }
}

View File

@ -1,89 +0,0 @@
/*
* Copyright 2012 The Netty Project
*
* The Netty Project licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
package io.netty.handler.codec.rtsp;
import io.netty.buffer.ByteBuf;
import io.netty.handler.codec.TooLongFrameException;
import io.netty.handler.codec.http.HttpMessage;
import io.netty.handler.codec.http.HttpObjectDecoder;
/**
* Decodes {@link ByteBuf}s into RTSP messages represented in
* {@link HttpMessage}s.
* <p>
* <h3>Parameters that prevents excessive memory consumption</h3>
* <table border="1">
* <tr>
* <th>Name</th><th>Meaning</th>
* </tr>
* <tr>
* <td>{@code maxInitialLineLength}</td>
* <td>The maximum length of the initial line
* (e.g. {@code "SETUP / RTSP/1.0"} or {@code "RTSP/1.0 200 OK"})
* If the length of the initial line exceeds this value, a
* {@link TooLongFrameException} will be raised.</td>
* </tr>
* <tr>
* <td>{@code maxHeaderSize}</td>
* <td>The maximum length of all headers. If the sum of the length of each
* header exceeds this value, a {@link TooLongFrameException} will be raised.</td>
* </tr>
* <tr>
* <td>{@code maxContentLength}</td>
* <td>The maximum length of the content. If the content length exceeds this
* value, a {@link TooLongFrameException} will be raised.</td>
* </tr>
* </table>
*
* @deprecated Use {@link RtspDecoder} instead.
*/
@Deprecated
public abstract class RtspObjectDecoder extends HttpObjectDecoder {
/**
* Creates a new instance with the default
* {@code maxInitialLineLength (4096)}, {@code maxHeaderSize (8192)}.
*/
protected RtspObjectDecoder() {
this(4096, 8192);
}
/**
* Creates a new instance with the specified parameters.
*/
protected RtspObjectDecoder(int maxInitialLineLength, int maxHeaderSize) {
super(maxInitialLineLength, maxHeaderSize, false);
}
protected RtspObjectDecoder(
int maxInitialLineLength, int maxHeaderSize, boolean validateHeaders) {
super(maxInitialLineLength, maxHeaderSize, false, validateHeaders);
}
@Override
protected boolean isContentAlwaysEmpty(HttpMessage msg) {
// Unlike HTTP, RTSP always assumes zero-length body if Content-Length
// header is absent.
boolean empty = super.isContentAlwaysEmpty(msg);
if (empty) {
return true;
}
if (!msg.headers().contains(RtspHeaderNames.CONTENT_LENGTH)) {
return true;
}
return empty;
}
}

View File

@ -1,44 +0,0 @@
/*
* Copyright 2012 The Netty Project
*
* The Netty Project licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
package io.netty.handler.codec.rtsp;
import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandler.Sharable;
import io.netty.handler.codec.http.FullHttpMessage;
import io.netty.handler.codec.http.HttpMessage;
import io.netty.handler.codec.http.HttpObjectEncoder;
/**
* Encodes an RTSP message represented in {@link FullHttpMessage} into
* a {@link ByteBuf}.
*
* @deprecated Use {@link RtspEncoder} instead.
*/
@Sharable
@Deprecated
public abstract class RtspObjectEncoder<H extends HttpMessage> extends HttpObjectEncoder<H> {
/**
* Creates a new instance.
*/
protected RtspObjectEncoder() {
}
@Override
public boolean acceptOutboundMessage(Object msg) throws Exception {
return msg instanceof FullHttpMessage;
}
}

View File

@ -1,23 +0,0 @@
/*
* Copyright 2012 The Netty Project
*
* The Netty Project licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
package io.netty.handler.codec.rtsp;
/**
* @deprecated Use {@link RtspDecoder} directly instead
*/
@Deprecated
public class RtspRequestDecoder extends RtspDecoder {
}

View File

@ -1,23 +0,0 @@
/*
* Copyright 2012 The Netty Project
*
* The Netty Project licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
package io.netty.handler.codec.rtsp;
/**
* @deprecated Use {@link RtspEncoder} directly instead
*/
@Deprecated
public class RtspRequestEncoder extends RtspEncoder {
}

View File

@ -1,23 +0,0 @@
/*
* Copyright 2012 The Netty Project
*
* The Netty Project licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
package io.netty.handler.codec.rtsp;
/**
* @deprecated Use {@link RtspDecoder} directly instead
*/
@Deprecated
public class RtspResponseDecoder extends RtspDecoder {
}

View File

@ -1,23 +0,0 @@
/*
* Copyright 2012 The Netty Project
*
* The Netty Project licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
package io.netty.handler.codec.rtsp;
/**
* @deprecated Use {@link RtspEncoder} directly instead
*/
@Deprecated
public class RtspResponseEncoder extends RtspEncoder {
}

View File

@ -1,43 +0,0 @@
/*
* Copyright 2017 The Netty Project
*
* The Netty Project licenses this file to you under the Apache License,
* version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
package io.netty.handler.codec.http;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* A test to validate that either order of initialization of the {@link EmptyHttpHeaders#INSTANCE} and
* {@link HttpHeaders#EMPTY_HEADERS} field results in both fields being non-null.
*
* Since this is testing static initialization, the tests might not actually test anything, except
* when run in isolation.
*/
public class EmptyHttpHeadersInitializationTest {
@Test
public void testEmptyHttpHeadersFirst() {
assertNotNull(EmptyHttpHeaders.INSTANCE);
assertNotNull(HttpHeaders.EMPTY_HEADERS);
}
@Test
public void testHttpHeadersFirst() {
assertNotNull(HttpHeaders.EMPTY_HEADERS);
assertNotNull(EmptyHttpHeaders.INSTANCE);
}
}