diff --git a/buffer/src/main/java/io/netty/buffer/AbstractByteBuf.java b/buffer/src/main/java/io/netty/buffer/AbstractByteBuf.java index 5c8c837b02..26916e9fe1 100644 --- a/buffer/src/main/java/io/netty/buffer/AbstractByteBuf.java +++ b/buffer/src/main/java/io/netty/buffer/AbstractByteBuf.java @@ -1308,13 +1308,7 @@ public abstract class AbstractByteBuf extends ByteBuf { @Override public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o instanceof ByteBuf) { - return ByteBufUtil.equals(this, (ByteBuf) o); - } - return false; + return this == o || (o instanceof ByteBuf && ByteBufUtil.equals(this, (ByteBuf) o)); } @Override diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/DefaultHttpHeaders.java b/codec-http/src/main/java/io/netty/handler/codec/http/DefaultHttpHeaders.java index 05650d66c5..6204f3ea7f 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/DefaultHttpHeaders.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/DefaultHttpHeaders.java @@ -313,10 +313,8 @@ public class DefaultHttpHeaders extends HttpHeaders { @Override public boolean equals(Object o) { - if (!(o instanceof DefaultHttpHeaders)) { - return false; - } - return headers.equals(((DefaultHttpHeaders) o).headers, CASE_SENSITIVE_HASHER); + return o instanceof DefaultHttpHeaders + && headers.equals(((DefaultHttpHeaders) o).headers, CASE_SENSITIVE_HASHER); } @Override diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/cookie/ClientCookieDecoder.java b/codec-http/src/main/java/io/netty/handler/codec/http/cookie/ClientCookieDecoder.java index cbfe20d40f..e391c2144f 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/cookie/ClientCookieDecoder.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/cookie/ClientCookieDecoder.java @@ -82,45 +82,42 @@ public final class ClientCookieDecoder extends CookieDecoder { } int nameBegin = i; - int nameEnd = i; - int valueBegin = -1; - int valueEnd = -1; + int nameEnd; + int valueBegin; + int valueEnd; - if (i != headerLen) { - keyValLoop: for (;;) { - - char curChar = header.charAt(i); - if (curChar == ';') { - // NAME; (no value till ';') - nameEnd = i; - valueBegin = valueEnd = -1; - break keyValLoop; - - } else if (curChar == '=') { - // NAME=VALUE - nameEnd = i; - i++; - if (i == headerLen) { - // NAME= (empty value, i.e. nothing after '=') - valueBegin = valueEnd = 0; - break keyValLoop; - } - - valueBegin = i; - // NAME=VALUE; - int semiPos = header.indexOf(';', i); - valueEnd = i = semiPos > 0 ? semiPos : headerLen; - break keyValLoop; - } else { - i++; - } + for (;;) { + char curChar = header.charAt(i); + if (curChar == ';') { + // NAME; (no value till ';') + nameEnd = i; + valueBegin = valueEnd = -1; + break; + } else if (curChar == '=') { + // NAME=VALUE + nameEnd = i; + i++; if (i == headerLen) { - // NAME (no value till the end of string) - nameEnd = headerLen; - valueBegin = valueEnd = -1; + // NAME= (empty value, i.e. nothing after '=') + valueBegin = valueEnd = 0; break; } + + valueBegin = i; + // NAME=VALUE; + int semiPos = header.indexOf(';', i); + valueEnd = i = semiPos > 0 ? semiPos : headerLen; + break; + } else { + i++; + } + + if (i == headerLen) { + // NAME (no value till the end of string) + nameEnd = headerLen; + valueBegin = valueEnd = -1; + break; } } @@ -158,7 +155,7 @@ public final class ClientCookieDecoder extends CookieDecoder { private boolean secure; private boolean httpOnly; - public CookieBuilder(DefaultCookie cookie, String header) { + CookieBuilder(DefaultCookie cookie, String header) { this.cookie = cookie; this.header = header; } @@ -177,7 +174,7 @@ public final class ClientCookieDecoder extends CookieDecoder { return Long.MIN_VALUE; } - public Cookie cookie() { + Cookie cookie() { cookie.setDomain(domain); cookie.setPath(path); cookie.setMaxAge(mergeMaxAgeAndExpires()); @@ -199,7 +196,7 @@ public final class ClientCookieDecoder extends CookieDecoder { * @param valueEnd * where the value ends in the header */ - public void appendAttribute(int keyStart, int keyEnd, int valueStart, int valueEnd) { + void appendAttribute(int keyStart, int keyEnd, int valueStart, int valueEnd) { int length = keyEnd - keyStart; if (length == 4) { @@ -209,7 +206,7 @@ public final class ClientCookieDecoder extends CookieDecoder { } else if (length == 7) { parse7(keyStart, valueStart, valueEnd); } else if (length == 8) { - parse8(keyStart, valueStart, valueEnd); + parse8(keyStart); } } @@ -244,7 +241,7 @@ public final class ClientCookieDecoder extends CookieDecoder { } } - private void parse8(int nameStart, int valueStart, int valueEnd) { + private void parse8(int nameStart) { if (header.regionMatches(true, nameStart, CookieHeaderNames.HTTPONLY, 0, 8)) { httpOnly = true; } diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/cookie/ClientCookieEncoder.java b/codec-http/src/main/java/io/netty/handler/codec/http/cookie/ClientCookieEncoder.java index 0bf4e55205..9554b64ed4 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/cookie/ClientCookieEncoder.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/cookie/ClientCookieEncoder.java @@ -34,9 +34,6 @@ import java.util.List; * A RFC6265 compliant cookie encoder to be used client side, so * only name=value pairs are sent. * - * User-Agents are not supposed to interpret cookies, so, if present, {@link Cookie#rawValue()} will be used. - * Otherwise, {@link Cookie#value()} will be used unquoted. - * * Note that multiple cookies are supposed to be sent at once in a single "Cookie" header. * *
diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/cookie/DefaultCookie.java b/codec-http/src/main/java/io/netty/handler/codec/http/cookie/DefaultCookie.java index 17fe5c4368..319df83cfa 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/cookie/DefaultCookie.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/cookie/DefaultCookie.java @@ -153,8 +153,6 @@ public class DefaultCookie implements Cookie { if (that.domain() != null) { return false; } - } else if (that.domain() == null) { - return false; } else { return domain().equalsIgnoreCase(that.domain()); } diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/cookie/ServerCookieDecoder.java b/codec-http/src/main/java/io/netty/handler/codec/http/cookie/ServerCookieDecoder.java index 04a8e3938b..cf5349b086 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/cookie/ServerCookieDecoder.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/cookie/ServerCookieDecoder.java @@ -96,45 +96,43 @@ public final class ServerCookieDecoder extends CookieDecoder { } int nameBegin = i; - int nameEnd = i; - int valueBegin = -1; - int valueEnd = -1; + int nameEnd; + int valueBegin; + int valueEnd; - if (i != headerLen) { - keyValLoop: for (;;) { + for (;;) { - char curChar = header.charAt(i); - if (curChar == ';') { - // NAME; (no value till ';') - nameEnd = i; - valueBegin = valueEnd = -1; - break keyValLoop; - - } else if (curChar == '=') { - // NAME=VALUE - nameEnd = i; - i++; - if (i == headerLen) { - // NAME= (empty value, i.e. nothing after '=') - valueBegin = valueEnd = 0; - break keyValLoop; - } - - valueBegin = i; - // NAME=VALUE; - int semiPos = header.indexOf(';', i); - valueEnd = i = semiPos > 0 ? semiPos : headerLen; - break keyValLoop; - } else { - i++; - } + char curChar = header.charAt(i); + if (curChar == ';') { + // NAME; (no value till ';') + nameEnd = i; + valueBegin = valueEnd = -1; + break; + } else if (curChar == '=') { + // NAME=VALUE + nameEnd = i; + i++; if (i == headerLen) { - // NAME (no value till the end of string) - nameEnd = headerLen; - valueBegin = valueEnd = -1; + // NAME= (empty value, i.e. nothing after '=') + valueBegin = valueEnd = 0; break; } + + valueBegin = i; + // NAME=VALUE; + int semiPos = header.indexOf(';', i); + valueEnd = i = semiPos > 0 ? semiPos : headerLen; + break; + } else { + i++; + } + + if (i == headerLen) { + // NAME (no value till the end of string) + nameEnd = headerLen; + valueBegin = valueEnd = -1; + break; } } diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/cookie/ServerCookieEncoder.java b/codec-http/src/main/java/io/netty/handler/codec/http/cookie/ServerCookieEncoder.java index 44cc6c7201..e68b7f52bc 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/cookie/ServerCookieEncoder.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/cookie/ServerCookieEncoder.java @@ -213,7 +213,7 @@ public final class ServerCookieEncoder extends CookieEncoder { MapnameToIndex = strict && cookiesIt.hasNext() ? new HashMap () : null; int i = 0; encoded.add(encode(firstCookie)); - boolean hasDupdName = nameToIndex != null ? nameToIndex.put(firstCookie.name(), i++) != null : false; + boolean hasDupdName = nameToIndex != null && nameToIndex.put(firstCookie.name(), i++) != null; while (cookiesIt.hasNext()) { Cookie c = cookiesIt.next(); encoded.add(encode(c)); diff --git a/codec-http2/src/main/java/io/netty/handler/codec/http2/DefaultHttp2Headers.java b/codec-http2/src/main/java/io/netty/handler/codec/http2/DefaultHttp2Headers.java index 3b94371ed4..043d06e301 100644 --- a/codec-http2/src/main/java/io/netty/handler/codec/http2/DefaultHttp2Headers.java +++ b/codec-http2/src/main/java/io/netty/handler/codec/http2/DefaultHttp2Headers.java @@ -120,11 +120,7 @@ public class DefaultHttp2Headers @Override public boolean equals(Object o) { - if (!(o instanceof Http2Headers)) { - return false; - } - - return equals((Http2Headers) o, CASE_SENSITIVE_HASHER); + return o instanceof Http2Headers && equals((Http2Headers) o, CASE_SENSITIVE_HASHER); } @Override diff --git a/codec/src/main/java/io/netty/handler/codec/DefaultHeaders.java b/codec/src/main/java/io/netty/handler/codec/DefaultHeaders.java index a5701f295f..3de3a5a64a 100644 --- a/codec/src/main/java/io/netty/handler/codec/DefaultHeaders.java +++ b/codec/src/main/java/io/netty/handler/codec/DefaultHeaders.java @@ -328,8 +328,8 @@ public class DefaultHeaders > implements Headers @Override public T addObject(K name, Object... values) { - for (int i = 0; i < values.length; i++) { - addObject(name, values[i]); + for (Object value: values) { + addObject(name, value); } return thisT(); }