Partially revert 4a13f66e13
Revert the removal of 'get' prefix from HTTP classes to ensure ABI compatibility. Note that this commit does not revert the changes in SPDY, which is considered experimental.
This commit is contained in:
parent
522b3e1b92
commit
2bdcedeffd
@ -80,27 +80,27 @@ public final class ClientCookieEncoder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static void encode(StringBuilder buf, Cookie c) {
|
private static void encode(StringBuilder buf, Cookie c) {
|
||||||
if (c.version() >= 1) {
|
if (c.getVersion() >= 1) {
|
||||||
add(buf, '$' + CookieHeaderNames.VERSION, 1);
|
add(buf, '$' + CookieHeaderNames.VERSION, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
add(buf, c.name(), c.value());
|
add(buf, c.getName(), c.getValue());
|
||||||
|
|
||||||
if (c.path() != null) {
|
if (c.getPath() != null) {
|
||||||
add(buf, '$' + CookieHeaderNames.PATH, c.path());
|
add(buf, '$' + CookieHeaderNames.PATH, c.getPath());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (c.domain() != null) {
|
if (c.getDomain() != null) {
|
||||||
add(buf, '$' + CookieHeaderNames.DOMAIN, c.domain());
|
add(buf, '$' + CookieHeaderNames.DOMAIN, c.getDomain());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (c.version() >= 1) {
|
if (c.getVersion() >= 1) {
|
||||||
if (!c.ports().isEmpty()) {
|
if (!c.getPorts().isEmpty()) {
|
||||||
buf.append('$');
|
buf.append('$');
|
||||||
buf.append(CookieHeaderNames.PORT);
|
buf.append(CookieHeaderNames.PORT);
|
||||||
buf.append((char) HttpConstants.EQUALS);
|
buf.append((char) HttpConstants.EQUALS);
|
||||||
buf.append((char) HttpConstants.DOUBLE_QUOTE);
|
buf.append((char) HttpConstants.DOUBLE_QUOTE);
|
||||||
for (int port: c.ports()) {
|
for (int port: c.getPorts()) {
|
||||||
buf.append(port);
|
buf.append(port);
|
||||||
buf.append((char) HttpConstants.COMMA);
|
buf.append((char) HttpConstants.COMMA);
|
||||||
}
|
}
|
||||||
|
@ -60,14 +60,8 @@ final class ComposedLastHttpContent implements LastHttpContent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DecoderResult decoderResult() {
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@Deprecated
|
|
||||||
public DecoderResult getDecoderResult() {
|
public DecoderResult getDecoderResult() {
|
||||||
return decoderResult();
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -23,31 +23,19 @@ import java.util.Set;
|
|||||||
*/
|
*/
|
||||||
public interface Cookie extends Comparable<Cookie> {
|
public interface Cookie extends Comparable<Cookie> {
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link #name()} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
String getName();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the name of this {@link Cookie}.
|
* Returns the name of this {@link Cookie}.
|
||||||
*
|
*
|
||||||
* @return The name of this {@link Cookie}
|
* @return The name of this {@link Cookie}
|
||||||
*/
|
*/
|
||||||
String name();
|
String getName();
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link #value()} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
String getValue();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the value of this {@link Cookie}.
|
* Returns the value of this {@link Cookie}.
|
||||||
*
|
*
|
||||||
* @return The value of this {@link Cookie}
|
* @return The value of this {@link Cookie}
|
||||||
*/
|
*/
|
||||||
String value();
|
String getValue();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the value of this {@link Cookie}.
|
* Sets the value of this {@link Cookie}.
|
||||||
@ -56,18 +44,12 @@ public interface Cookie extends Comparable<Cookie> {
|
|||||||
*/
|
*/
|
||||||
void setValue(String value);
|
void setValue(String value);
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link #domain()} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
String getDomain();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the domain of this {@link Cookie}.
|
* Returns the domain of this {@link Cookie}.
|
||||||
*
|
*
|
||||||
* @return The domain of this {@link Cookie}
|
* @return The domain of this {@link Cookie}
|
||||||
*/
|
*/
|
||||||
String domain();
|
String getDomain();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the domain of this {@link Cookie}.
|
* Sets the domain of this {@link Cookie}.
|
||||||
@ -76,18 +58,12 @@ public interface Cookie extends Comparable<Cookie> {
|
|||||||
*/
|
*/
|
||||||
void setDomain(String domain);
|
void setDomain(String domain);
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link #path()} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
String getPath();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the path of this {@link Cookie}.
|
* Returns the path of this {@link Cookie}.
|
||||||
*
|
*
|
||||||
* @return The {@link Cookie}'s path
|
* @return The {@link Cookie}'s path
|
||||||
*/
|
*/
|
||||||
String path();
|
String getPath();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the path of this {@link Cookie}.
|
* Sets the path of this {@link Cookie}.
|
||||||
@ -96,18 +72,12 @@ public interface Cookie extends Comparable<Cookie> {
|
|||||||
*/
|
*/
|
||||||
void setPath(String path);
|
void setPath(String path);
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link #comment()} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
String getComment();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the comment of this {@link Cookie}.
|
* Returns the comment of this {@link Cookie}.
|
||||||
*
|
*
|
||||||
* @return The comment of this {@link Cookie}
|
* @return The comment of this {@link Cookie}
|
||||||
*/
|
*/
|
||||||
String comment();
|
String getComment();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the comment of this {@link Cookie}.
|
* Sets the comment of this {@link Cookie}.
|
||||||
@ -116,18 +86,12 @@ public interface Cookie extends Comparable<Cookie> {
|
|||||||
*/
|
*/
|
||||||
void setComment(String comment);
|
void setComment(String comment);
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link #maxAge()} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
long getMaxAge();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the maximum age of this {@link Cookie} in seconds or {@link Long#MIN_VALUE} if unspecified
|
* Returns the maximum age of this {@link Cookie} in seconds or {@link Long#MIN_VALUE} if unspecified
|
||||||
*
|
*
|
||||||
* @return The maximum age of this {@link Cookie}
|
* @return The maximum age of this {@link Cookie}
|
||||||
*/
|
*/
|
||||||
long maxAge();
|
long getMaxAge();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the maximum age of this {@link Cookie} in seconds.
|
* Sets the maximum age of this {@link Cookie} in seconds.
|
||||||
@ -140,18 +104,12 @@ public interface Cookie extends Comparable<Cookie> {
|
|||||||
*/
|
*/
|
||||||
void setMaxAge(long maxAge);
|
void setMaxAge(long maxAge);
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link #version()} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
int getVersion();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the version of this {@link Cookie}.
|
* Returns the version of this {@link Cookie}.
|
||||||
*
|
*
|
||||||
* @return The version of this {@link Cookie}
|
* @return The version of this {@link Cookie}
|
||||||
*/
|
*/
|
||||||
int version();
|
int getVersion();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the version of this {@link Cookie}.
|
* Sets the version of this {@link Cookie}.
|
||||||
@ -195,18 +153,12 @@ public interface Cookie extends Comparable<Cookie> {
|
|||||||
*/
|
*/
|
||||||
void setHttpOnly(boolean httpOnly);
|
void setHttpOnly(boolean httpOnly);
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link #commentUrl()} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
String getCommentUrl();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the comment URL of this {@link Cookie}.
|
* Returns the comment URL of this {@link Cookie}.
|
||||||
*
|
*
|
||||||
* @return The comment URL of this {@link Cookie}
|
* @return The comment URL of this {@link Cookie}
|
||||||
*/
|
*/
|
||||||
String commentUrl();
|
String getCommentUrl();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the comment URL of this {@link Cookie}.
|
* Sets the comment URL of this {@link Cookie}.
|
||||||
@ -232,18 +184,12 @@ public interface Cookie extends Comparable<Cookie> {
|
|||||||
*/
|
*/
|
||||||
void setDiscard(boolean discard);
|
void setDiscard(boolean discard);
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link #ports()} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
Set<Integer> getPorts();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the ports that this {@link Cookie} can be accessed on.
|
* Returns the ports that this {@link Cookie} can be accessed on.
|
||||||
*
|
*
|
||||||
* @return The {@link Set} of ports that this {@link Cookie} can use
|
* @return The {@link Set} of ports that this {@link Cookie} can use
|
||||||
*/
|
*/
|
||||||
Set<Integer> ports();
|
Set<Integer> getPorts();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the ports that this {@link Cookie} can be accessed on.
|
* Sets the ports that this {@link Cookie} can be accessed on.
|
||||||
|
@ -78,24 +78,12 @@ public class DefaultCookie implements Cookie {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return name();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String name() {
|
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
|
||||||
public String getValue() {
|
public String getValue() {
|
||||||
return value();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String value() {
|
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -108,13 +96,7 @@ public class DefaultCookie implements Cookie {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
|
||||||
public String getDomain() {
|
public String getDomain() {
|
||||||
return domain();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String domain() {
|
|
||||||
return domain;
|
return domain;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -124,13 +106,7 @@ public class DefaultCookie implements Cookie {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
|
||||||
public String getPath() {
|
public String getPath() {
|
||||||
return path();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String path() {
|
|
||||||
return path;
|
return path;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -140,13 +116,7 @@ public class DefaultCookie implements Cookie {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
|
||||||
public String getComment() {
|
public String getComment() {
|
||||||
return comment();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String comment() {
|
|
||||||
return comment;
|
return comment;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -156,13 +126,7 @@ public class DefaultCookie implements Cookie {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
|
||||||
public String getCommentUrl() {
|
public String getCommentUrl() {
|
||||||
return commentUrl();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String commentUrl() {
|
|
||||||
return commentUrl;
|
return commentUrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -182,13 +146,7 @@ public class DefaultCookie implements Cookie {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
|
||||||
public Set<Integer> getPorts() {
|
public Set<Integer> getPorts() {
|
||||||
return ports();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Set<Integer> ports() {
|
|
||||||
if (unmodifiablePorts == null) {
|
if (unmodifiablePorts == null) {
|
||||||
unmodifiablePorts = Collections.unmodifiableSet(ports);
|
unmodifiablePorts = Collections.unmodifiableSet(ports);
|
||||||
}
|
}
|
||||||
@ -235,13 +193,7 @@ public class DefaultCookie implements Cookie {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
|
||||||
public long getMaxAge() {
|
public long getMaxAge() {
|
||||||
return maxAge();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public long maxAge() {
|
|
||||||
return maxAge;
|
return maxAge;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -251,13 +203,7 @@ public class DefaultCookie implements Cookie {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
|
||||||
public int getVersion() {
|
public int getVersion() {
|
||||||
return version();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int version() {
|
|
||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -288,7 +234,7 @@ public class DefaultCookie implements Cookie {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return name().hashCode();
|
return getName().hashCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -298,28 +244,28 @@ public class DefaultCookie implements Cookie {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Cookie that = (Cookie) o;
|
Cookie that = (Cookie) o;
|
||||||
if (!name().equalsIgnoreCase(that.name())) {
|
if (!getName().equalsIgnoreCase(that.getName())) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (path() == null) {
|
if (getPath() == null) {
|
||||||
if (that.path() != null) {
|
if (that.getPath() != null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} else if (that.path() == null) {
|
} else if (that.getPath() == null) {
|
||||||
return false;
|
return false;
|
||||||
} else if (!path().equals(that.path())) {
|
} else if (!getPath().equals(that.getPath())) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (domain() == null) {
|
if (getDomain() == null) {
|
||||||
if (that.domain() != null) {
|
if (that.getDomain() != null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} else if (that.domain() == null) {
|
} else if (that.getDomain() == null) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
return domain().equalsIgnoreCase(that.domain());
|
return getDomain().equalsIgnoreCase(that.getDomain());
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -328,32 +274,32 @@ public class DefaultCookie implements Cookie {
|
|||||||
@Override
|
@Override
|
||||||
public int compareTo(Cookie c) {
|
public int compareTo(Cookie c) {
|
||||||
int v;
|
int v;
|
||||||
v = name().compareToIgnoreCase(c.name());
|
v = getName().compareToIgnoreCase(c.getName());
|
||||||
if (v != 0) {
|
if (v != 0) {
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (path() == null) {
|
if (getPath() == null) {
|
||||||
if (c.path() != null) {
|
if (c.getPath() != null) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
} else if (c.path() == null) {
|
} else if (c.getPath() == null) {
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
v = path().compareTo(c.path());
|
v = getPath().compareTo(c.getPath());
|
||||||
if (v != 0) {
|
if (v != 0) {
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (domain() == null) {
|
if (getDomain() == null) {
|
||||||
if (c.domain() != null) {
|
if (c.getDomain() != null) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
} else if (c.domain() == null) {
|
} else if (c.getDomain() == null) {
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
v = domain().compareToIgnoreCase(c.domain());
|
v = getDomain().compareToIgnoreCase(c.getDomain());
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -363,24 +309,24 @@ public class DefaultCookie implements Cookie {
|
|||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
StringBuilder buf = new StringBuilder();
|
StringBuilder buf = new StringBuilder();
|
||||||
buf.append(name());
|
buf.append(getName());
|
||||||
buf.append('=');
|
buf.append('=');
|
||||||
buf.append(value());
|
buf.append(getValue());
|
||||||
if (domain() != null) {
|
if (getDomain() != null) {
|
||||||
buf.append(", domain=");
|
buf.append(", domain=");
|
||||||
buf.append(domain());
|
buf.append(getDomain());
|
||||||
}
|
}
|
||||||
if (path() != null) {
|
if (getPath() != null) {
|
||||||
buf.append(", path=");
|
buf.append(", path=");
|
||||||
buf.append(path());
|
buf.append(getPath());
|
||||||
}
|
}
|
||||||
if (comment() != null) {
|
if (getComment() != null) {
|
||||||
buf.append(", comment=");
|
buf.append(", comment=");
|
||||||
buf.append(comment());
|
buf.append(getComment());
|
||||||
}
|
}
|
||||||
if (maxAge() >= 0) {
|
if (getMaxAge() >= 0) {
|
||||||
buf.append(", maxAge=");
|
buf.append(", maxAge=");
|
||||||
buf.append(maxAge());
|
buf.append(getMaxAge());
|
||||||
buf.append('s');
|
buf.append('s');
|
||||||
}
|
}
|
||||||
if (isSecure()) {
|
if (isSecure()) {
|
||||||
|
@ -103,7 +103,7 @@ public class DefaultFullHttpRequest extends DefaultHttpRequest implements FullHt
|
|||||||
@Override
|
@Override
|
||||||
public FullHttpRequest copy() {
|
public FullHttpRequest copy() {
|
||||||
DefaultFullHttpRequest copy = new DefaultFullHttpRequest(
|
DefaultFullHttpRequest copy = new DefaultFullHttpRequest(
|
||||||
protocolVersion(), method(), uri(), content().copy(), validateHeaders);
|
getProtocolVersion(), getMethod(), getUri(), content().copy(), validateHeaders);
|
||||||
copy.headers().set(headers());
|
copy.headers().set(headers());
|
||||||
copy.trailingHeaders().set(trailingHeaders());
|
copy.trailingHeaders().set(trailingHeaders());
|
||||||
return copy;
|
return copy;
|
||||||
@ -112,7 +112,7 @@ public class DefaultFullHttpRequest extends DefaultHttpRequest implements FullHt
|
|||||||
@Override
|
@Override
|
||||||
public FullHttpRequest duplicate() {
|
public FullHttpRequest duplicate() {
|
||||||
DefaultFullHttpRequest duplicate = new DefaultFullHttpRequest(
|
DefaultFullHttpRequest duplicate = new DefaultFullHttpRequest(
|
||||||
protocolVersion(), method(), uri(), content().duplicate(), validateHeaders);
|
getProtocolVersion(), getMethod(), getUri(), content().duplicate(), validateHeaders);
|
||||||
duplicate.headers().set(headers());
|
duplicate.headers().set(headers());
|
||||||
duplicate.trailingHeaders().set(trailingHeaders());
|
duplicate.trailingHeaders().set(trailingHeaders());
|
||||||
return duplicate;
|
return duplicate;
|
||||||
|
@ -99,7 +99,7 @@ public class DefaultFullHttpResponse extends DefaultHttpResponse implements Full
|
|||||||
@Override
|
@Override
|
||||||
public FullHttpResponse copy() {
|
public FullHttpResponse copy() {
|
||||||
DefaultFullHttpResponse copy = new DefaultFullHttpResponse(
|
DefaultFullHttpResponse copy = new DefaultFullHttpResponse(
|
||||||
protocolVersion(), status(), content().copy(), validateHeaders);
|
getProtocolVersion(), getStatus(), content().copy(), validateHeaders);
|
||||||
copy.headers().set(headers());
|
copy.headers().set(headers());
|
||||||
copy.trailingHeaders().set(trailingHeaders());
|
copy.trailingHeaders().set(trailingHeaders());
|
||||||
return copy;
|
return copy;
|
||||||
@ -107,7 +107,7 @@ public class DefaultFullHttpResponse extends DefaultHttpResponse implements Full
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FullHttpResponse duplicate() {
|
public FullHttpResponse duplicate() {
|
||||||
DefaultFullHttpResponse duplicate = new DefaultFullHttpResponse(protocolVersion(), status(),
|
DefaultFullHttpResponse duplicate = new DefaultFullHttpResponse(getProtocolVersion(), getStatus(),
|
||||||
content().duplicate(), validateHeaders);
|
content().duplicate(), validateHeaders);
|
||||||
duplicate.headers().set(headers());
|
duplicate.headers().set(headers());
|
||||||
duplicate.trailingHeaders().set(trailingHeaders());
|
duplicate.trailingHeaders().set(trailingHeaders());
|
||||||
|
@ -80,6 +80,6 @@ public class DefaultHttpContent extends DefaultHttpObject implements HttpContent
|
|||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return StringUtil.simpleClassName(this) +
|
return StringUtil.simpleClassName(this) +
|
||||||
"(data: " + content() + ", decoderResult: " + decoderResult() + ')';
|
"(data: " + content() + ", decoderResult: " + getDecoderResult() + ')';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -48,13 +48,7 @@ public abstract class DefaultHttpMessage extends DefaultHttpObject implements Ht
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
|
||||||
public HttpVersion getProtocolVersion() {
|
public HttpVersion getProtocolVersion() {
|
||||||
return protocolVersion();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public HttpVersion protocolVersion() {
|
|
||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,7 +57,7 @@ public abstract class DefaultHttpMessage extends DefaultHttpObject implements Ht
|
|||||||
StringBuilder buf = new StringBuilder();
|
StringBuilder buf = new StringBuilder();
|
||||||
buf.append(StringUtil.simpleClassName(this));
|
buf.append(StringUtil.simpleClassName(this));
|
||||||
buf.append("(version: ");
|
buf.append("(version: ");
|
||||||
buf.append(protocolVersion().text());
|
buf.append(getProtocolVersion().text());
|
||||||
buf.append(", keepAlive: ");
|
buf.append(", keepAlive: ");
|
||||||
buf.append(HttpHeaders.isKeepAlive(this));
|
buf.append(HttpHeaders.isKeepAlive(this));
|
||||||
buf.append(')');
|
buf.append(')');
|
||||||
|
@ -26,12 +26,6 @@ public class DefaultHttpObject implements HttpObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DecoderResult decoderResult() {
|
|
||||||
return decoderResult;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@Deprecated
|
|
||||||
public DecoderResult getDecoderResult() {
|
public DecoderResult getDecoderResult() {
|
||||||
return decoderResult;
|
return decoderResult;
|
||||||
}
|
}
|
||||||
|
@ -57,24 +57,12 @@ public class DefaultHttpRequest extends DefaultHttpMessage implements HttpReques
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
|
||||||
public HttpMethod getMethod() {
|
public HttpMethod getMethod() {
|
||||||
return method();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public HttpMethod method() {
|
|
||||||
return method;
|
return method;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
|
||||||
public String getUri() {
|
public String getUri() {
|
||||||
return uri();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String uri() {
|
|
||||||
return uri;
|
return uri;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -107,14 +95,14 @@ public class DefaultHttpRequest extends DefaultHttpMessage implements HttpReques
|
|||||||
StringBuilder buf = new StringBuilder();
|
StringBuilder buf = new StringBuilder();
|
||||||
buf.append(StringUtil.simpleClassName(this));
|
buf.append(StringUtil.simpleClassName(this));
|
||||||
buf.append("(decodeResult: ");
|
buf.append("(decodeResult: ");
|
||||||
buf.append(decoderResult());
|
buf.append(getDecoderResult());
|
||||||
buf.append(')');
|
buf.append(')');
|
||||||
buf.append(StringUtil.NEWLINE);
|
buf.append(StringUtil.NEWLINE);
|
||||||
buf.append(method());
|
buf.append(getMethod());
|
||||||
buf.append(' ');
|
buf.append(' ');
|
||||||
buf.append(uri());
|
buf.append(getUri());
|
||||||
buf.append(' ');
|
buf.append(' ');
|
||||||
buf.append(protocolVersion().text());
|
buf.append(getProtocolVersion().text());
|
||||||
buf.append(StringUtil.NEWLINE);
|
buf.append(StringUtil.NEWLINE);
|
||||||
appendHeaders(buf);
|
appendHeaders(buf);
|
||||||
|
|
||||||
|
@ -50,13 +50,7 @@ public class DefaultHttpResponse extends DefaultHttpMessage implements HttpRespo
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Deprecated
|
|
||||||
public HttpResponseStatus getStatus() {
|
public HttpResponseStatus getStatus() {
|
||||||
return status();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public HttpResponseStatus status() {
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -80,12 +74,12 @@ public class DefaultHttpResponse extends DefaultHttpMessage implements HttpRespo
|
|||||||
StringBuilder buf = new StringBuilder();
|
StringBuilder buf = new StringBuilder();
|
||||||
buf.append(StringUtil.simpleClassName(this));
|
buf.append(StringUtil.simpleClassName(this));
|
||||||
buf.append("(decodeResult: ");
|
buf.append("(decodeResult: ");
|
||||||
buf.append(decoderResult());
|
buf.append(getDecoderResult());
|
||||||
buf.append(')');
|
buf.append(')');
|
||||||
buf.append(StringUtil.NEWLINE);
|
buf.append(StringUtil.NEWLINE);
|
||||||
buf.append(protocolVersion().text());
|
buf.append(getProtocolVersion().text());
|
||||||
buf.append(' ');
|
buf.append(' ');
|
||||||
buf.append(status());
|
buf.append(getStatus());
|
||||||
buf.append(StringUtil.NEWLINE);
|
buf.append(StringUtil.NEWLINE);
|
||||||
appendHeaders(buf);
|
appendHeaders(buf);
|
||||||
|
|
||||||
|
@ -100,7 +100,7 @@ public final class HttpClientCodec
|
|||||||
protected void encode(
|
protected void encode(
|
||||||
ChannelHandlerContext ctx, Object msg, List<Object> out) throws Exception {
|
ChannelHandlerContext ctx, Object msg, List<Object> out) throws Exception {
|
||||||
if (msg instanceof HttpRequest && !done) {
|
if (msg instanceof HttpRequest && !done) {
|
||||||
queue.offer(((HttpRequest) msg).method());
|
queue.offer(((HttpRequest) msg).getMethod());
|
||||||
}
|
}
|
||||||
|
|
||||||
super.encode(ctx, msg, out);
|
super.encode(ctx, msg, out);
|
||||||
@ -156,7 +156,7 @@ public final class HttpClientCodec
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean isContentAlwaysEmpty(HttpMessage msg) {
|
protected boolean isContentAlwaysEmpty(HttpMessage msg) {
|
||||||
final int statusCode = ((HttpResponse) msg).status().code();
|
final int statusCode = ((HttpResponse) msg).getStatus().code();
|
||||||
if (statusCode == 100) {
|
if (statusCode == 100) {
|
||||||
// 100-continue response should be excluded from paired comparison.
|
// 100-continue response should be excluded from paired comparison.
|
||||||
return true;
|
return true;
|
||||||
|
@ -51,7 +51,7 @@ public abstract class HttpContentDecoder extends MessageToMessageDecoder<HttpObj
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void decode(ChannelHandlerContext ctx, HttpObject msg, List<Object> out) throws Exception {
|
protected void decode(ChannelHandlerContext ctx, HttpObject msg, List<Object> out) throws Exception {
|
||||||
if (msg instanceof HttpResponse && ((HttpResponse) msg).status().code() == 100) {
|
if (msg instanceof HttpResponse && ((HttpResponse) msg).getStatus().code() == 100) {
|
||||||
|
|
||||||
if (!(msg instanceof LastHttpContent)) {
|
if (!(msg instanceof LastHttpContent)) {
|
||||||
continueResponse = true;
|
continueResponse = true;
|
||||||
|
@ -89,7 +89,7 @@ public abstract class HttpContentEncoder extends MessageToMessageCodec<HttpReque
|
|||||||
|
|
||||||
final HttpResponse res = (HttpResponse) msg;
|
final HttpResponse res = (HttpResponse) msg;
|
||||||
|
|
||||||
if (res.status().code() == 100) {
|
if (res.getStatus().code() == 100) {
|
||||||
if (isFull) {
|
if (isFull) {
|
||||||
out.add(ReferenceCountUtil.retain(res));
|
out.add(ReferenceCountUtil.retain(res));
|
||||||
} else {
|
} else {
|
||||||
@ -142,7 +142,7 @@ public abstract class HttpContentEncoder extends MessageToMessageCodec<HttpReque
|
|||||||
// Output the rewritten response.
|
// Output the rewritten response.
|
||||||
if (isFull) {
|
if (isFull) {
|
||||||
// Convert full message into unfull one.
|
// Convert full message into unfull one.
|
||||||
HttpResponse newRes = new DefaultHttpResponse(res.protocolVersion(), res.status());
|
HttpResponse newRes = new DefaultHttpResponse(res.getProtocolVersion(), res.getStatus());
|
||||||
newRes.headers().set(res.headers());
|
newRes.headers().set(res.headers());
|
||||||
out.add(newRes);
|
out.add(newRes);
|
||||||
// Fall through to encode the content of the full response.
|
// Fall through to encode the content of the full response.
|
||||||
|
@ -570,7 +570,7 @@ public abstract class HttpHeaders implements Iterable<Map.Entry<String, String>>
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (message.protocolVersion().isKeepAliveDefault()) {
|
if (message.getProtocolVersion().isKeepAliveDefault()) {
|
||||||
return !equalsIgnoreCase(CLOSE_ENTITY, connection);
|
return !equalsIgnoreCase(CLOSE_ENTITY, connection);
|
||||||
} else {
|
} else {
|
||||||
return equalsIgnoreCase(KEEP_ALIVE_ENTITY, connection);
|
return equalsIgnoreCase(KEEP_ALIVE_ENTITY, connection);
|
||||||
@ -598,7 +598,7 @@ public abstract class HttpHeaders implements Iterable<Map.Entry<String, String>>
|
|||||||
*/
|
*/
|
||||||
public static void setKeepAlive(HttpMessage message, boolean keepAlive) {
|
public static void setKeepAlive(HttpMessage message, boolean keepAlive) {
|
||||||
HttpHeaders h = message.headers();
|
HttpHeaders h = message.headers();
|
||||||
if (message.protocolVersion().isKeepAliveDefault()) {
|
if (message.getProtocolVersion().isKeepAliveDefault()) {
|
||||||
if (keepAlive) {
|
if (keepAlive) {
|
||||||
h.remove(CONNECTION_ENTITY);
|
h.remove(CONNECTION_ENTITY);
|
||||||
} else {
|
} else {
|
||||||
@ -1010,14 +1010,14 @@ public abstract class HttpHeaders implements Iterable<Map.Entry<String, String>>
|
|||||||
HttpHeaders h = message.headers();
|
HttpHeaders h = message.headers();
|
||||||
if (message instanceof HttpRequest) {
|
if (message instanceof HttpRequest) {
|
||||||
HttpRequest req = (HttpRequest) message;
|
HttpRequest req = (HttpRequest) message;
|
||||||
if (HttpMethod.GET.equals(req.method()) &&
|
if (HttpMethod.GET.equals(req.getMethod()) &&
|
||||||
h.contains(SEC_WEBSOCKET_KEY1_ENTITY) &&
|
h.contains(SEC_WEBSOCKET_KEY1_ENTITY) &&
|
||||||
h.contains(SEC_WEBSOCKET_KEY2_ENTITY)) {
|
h.contains(SEC_WEBSOCKET_KEY2_ENTITY)) {
|
||||||
return 8;
|
return 8;
|
||||||
}
|
}
|
||||||
} else if (message instanceof HttpResponse) {
|
} else if (message instanceof HttpResponse) {
|
||||||
HttpResponse res = (HttpResponse) message;
|
HttpResponse res = (HttpResponse) message;
|
||||||
if (res.status().code() == 101 &&
|
if (res.getStatus().code() == 101 &&
|
||||||
h.contains(SEC_WEBSOCKET_ORIGIN_ENTITY) &&
|
h.contains(SEC_WEBSOCKET_ORIGIN_ENTITY) &&
|
||||||
h.contains(SEC_WEBSOCKET_LOCATION_ENTITY)) {
|
h.contains(SEC_WEBSOCKET_LOCATION_ENTITY)) {
|
||||||
return 16;
|
return 16;
|
||||||
@ -1105,7 +1105,7 @@ public abstract class HttpHeaders implements Iterable<Map.Entry<String, String>>
|
|||||||
}
|
}
|
||||||
|
|
||||||
// It works only on HTTP/1.1 or later.
|
// It works only on HTTP/1.1 or later.
|
||||||
if (message.protocolVersion().compareTo(HttpVersion.HTTP_1_1) < 0) {
|
if (message.getProtocolVersion().compareTo(HttpVersion.HTTP_1_1) < 0) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,16 +26,12 @@ package io.netty.handler.codec.http;
|
|||||||
*/
|
*/
|
||||||
public interface HttpMessage extends HttpObject {
|
public interface HttpMessage extends HttpObject {
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link #protocolVersion()} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
HttpVersion getProtocolVersion();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the protocol version of this {@link HttpMessage}
|
* Returns the protocol version of this {@link HttpMessage}
|
||||||
|
*
|
||||||
|
* @return The protocol version
|
||||||
*/
|
*/
|
||||||
HttpVersion protocolVersion();
|
HttpVersion getProtocolVersion();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the protocol version of this {@link HttpMessage}
|
* Set the protocol version of this {@link HttpMessage}
|
||||||
|
@ -18,17 +18,10 @@ package io.netty.handler.codec.http;
|
|||||||
import io.netty.handler.codec.DecoderResult;
|
import io.netty.handler.codec.DecoderResult;
|
||||||
|
|
||||||
public interface HttpObject {
|
public interface HttpObject {
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link #getDecoderResult()} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
DecoderResult getDecoderResult();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the result of decoding this message.
|
* Returns the result of decoding this message.
|
||||||
*/
|
*/
|
||||||
DecoderResult decoderResult();
|
DecoderResult getDecoderResult();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Updates the result of decoding this message. This method is supposed to be invoked by {@link HttpObjectDecoder}.
|
* Updates the result of decoding this message. This method is supposed to be invoked by {@link HttpObjectDecoder}.
|
||||||
|
@ -136,7 +136,7 @@ public class HttpObjectAggregator extends MessageToMessageDecoder<HttpObject> {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!m.decoderResult().isSuccess()) {
|
if (!m.getDecoderResult().isSuccess()) {
|
||||||
removeTransferEncodingChunked(m);
|
removeTransferEncodingChunked(m);
|
||||||
out.add(toFullMessage(m));
|
out.add(toFullMessage(m));
|
||||||
this.currentMessage = null;
|
this.currentMessage = null;
|
||||||
@ -144,12 +144,12 @@ public class HttpObjectAggregator extends MessageToMessageDecoder<HttpObject> {
|
|||||||
}
|
}
|
||||||
if (msg instanceof HttpRequest) {
|
if (msg instanceof HttpRequest) {
|
||||||
HttpRequest header = (HttpRequest) msg;
|
HttpRequest header = (HttpRequest) msg;
|
||||||
this.currentMessage = currentMessage = new DefaultFullHttpRequest(header.protocolVersion(),
|
this.currentMessage = currentMessage = new DefaultFullHttpRequest(header.getProtocolVersion(),
|
||||||
header.method(), header.uri(), Unpooled.compositeBuffer(maxCumulationBufferComponents));
|
header.getMethod(), header.getUri(), Unpooled.compositeBuffer(maxCumulationBufferComponents));
|
||||||
} else if (msg instanceof HttpResponse) {
|
} else if (msg instanceof HttpResponse) {
|
||||||
HttpResponse header = (HttpResponse) msg;
|
HttpResponse header = (HttpResponse) msg;
|
||||||
this.currentMessage = currentMessage = new DefaultFullHttpResponse(
|
this.currentMessage = currentMessage = new DefaultFullHttpResponse(
|
||||||
header.protocolVersion(), header.status(),
|
header.getProtocolVersion(), header.getStatus(),
|
||||||
Unpooled.compositeBuffer(maxCumulationBufferComponents));
|
Unpooled.compositeBuffer(maxCumulationBufferComponents));
|
||||||
} else {
|
} else {
|
||||||
throw new Error();
|
throw new Error();
|
||||||
@ -193,9 +193,9 @@ public class HttpObjectAggregator extends MessageToMessageDecoder<HttpObject> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
final boolean last;
|
final boolean last;
|
||||||
if (!chunk.decoderResult().isSuccess()) {
|
if (!chunk.getDecoderResult().isSuccess()) {
|
||||||
currentMessage.setDecoderResult(
|
currentMessage.setDecoderResult(
|
||||||
DecoderResult.failure(chunk.decoderResult().cause()));
|
DecoderResult.failure(chunk.getDecoderResult().cause()));
|
||||||
last = true;
|
last = true;
|
||||||
} else {
|
} else {
|
||||||
last = chunk instanceof LastHttpContent;
|
last = chunk instanceof LastHttpContent;
|
||||||
@ -259,11 +259,11 @@ public class HttpObjectAggregator extends MessageToMessageDecoder<HttpObject> {
|
|||||||
if (msg instanceof HttpRequest) {
|
if (msg instanceof HttpRequest) {
|
||||||
HttpRequest req = (HttpRequest) msg;
|
HttpRequest req = (HttpRequest) msg;
|
||||||
fullMsg = new DefaultFullHttpRequest(
|
fullMsg = new DefaultFullHttpRequest(
|
||||||
req.protocolVersion(), req.method(), req.uri(), Unpooled.EMPTY_BUFFER, false);
|
req.getProtocolVersion(), req.getMethod(), req.getUri(), Unpooled.EMPTY_BUFFER, false);
|
||||||
} else if (msg instanceof HttpResponse) {
|
} else if (msg instanceof HttpResponse) {
|
||||||
HttpResponse res = (HttpResponse) msg;
|
HttpResponse res = (HttpResponse) msg;
|
||||||
fullMsg = new DefaultFullHttpResponse(
|
fullMsg = new DefaultFullHttpResponse(
|
||||||
res.protocolVersion(), res.status(), Unpooled.EMPTY_BUFFER, false);
|
res.getProtocolVersion(), res.getStatus(), Unpooled.EMPTY_BUFFER, false);
|
||||||
} else {
|
} else {
|
||||||
throw new IllegalStateException();
|
throw new IllegalStateException();
|
||||||
}
|
}
|
||||||
|
@ -404,7 +404,7 @@ public abstract class HttpObjectDecoder extends ReplayingDecoder<HttpObjectDecod
|
|||||||
protected boolean isContentAlwaysEmpty(HttpMessage msg) {
|
protected boolean isContentAlwaysEmpty(HttpMessage msg) {
|
||||||
if (msg instanceof HttpResponse) {
|
if (msg instanceof HttpResponse) {
|
||||||
HttpResponse res = (HttpResponse) msg;
|
HttpResponse res = (HttpResponse) msg;
|
||||||
int code = res.status().code();
|
int code = res.getStatus().code();
|
||||||
|
|
||||||
// Correctly handle return codes of 1xx.
|
// Correctly handle return codes of 1xx.
|
||||||
//
|
//
|
||||||
@ -430,7 +430,7 @@ public abstract class HttpObjectDecoder extends ReplayingDecoder<HttpObjectDecod
|
|||||||
contentLength = Long.MIN_VALUE;
|
contentLength = Long.MIN_VALUE;
|
||||||
if (!isDecodingRequest()) {
|
if (!isDecodingRequest()) {
|
||||||
HttpResponse res = (HttpResponse) message;
|
HttpResponse res = (HttpResponse) message;
|
||||||
if (res != null && res.status().code() == 101) {
|
if (res != null && res.getStatus().code() == 101) {
|
||||||
checkpoint(State.UPGRADED);
|
checkpoint(State.UPGRADED);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -33,36 +33,24 @@ package io.netty.handler.codec.http;
|
|||||||
*/
|
*/
|
||||||
public interface HttpRequest extends HttpMessage {
|
public interface HttpRequest extends HttpMessage {
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link #method()} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
HttpMethod getMethod();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the {@link HttpMethod} of this {@link HttpRequest}.
|
* Returns the {@link HttpMethod} of this {@link HttpRequest}.
|
||||||
*
|
*
|
||||||
* @return The {@link HttpMethod} of this {@link HttpRequest}
|
* @return The {@link HttpMethod} of this {@link HttpRequest}
|
||||||
*/
|
*/
|
||||||
HttpMethod method();
|
HttpMethod getMethod();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the {@link HttpMethod} of this {@link HttpRequest}.
|
* Set the {@link HttpMethod} of this {@link HttpRequest}.
|
||||||
*/
|
*/
|
||||||
HttpRequest setMethod(HttpMethod method);
|
HttpRequest setMethod(HttpMethod method);
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link #uri()} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
String getUri();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the requested URI (or alternatively, path)
|
* Returns the requested URI (or alternatively, path)
|
||||||
*
|
*
|
||||||
* @return The URI being requested
|
* @return The URI being requested
|
||||||
*/
|
*/
|
||||||
String uri();
|
String getUri();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the requested URI (or alternatively, path)
|
* Set the requested URI (or alternatively, path)
|
||||||
|
@ -35,12 +35,12 @@ public class HttpRequestEncoder extends HttpObjectEncoder<HttpRequest> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void encodeInitialLine(ByteBuf buf, HttpRequest request) throws Exception {
|
protected void encodeInitialLine(ByteBuf buf, HttpRequest request) throws Exception {
|
||||||
request.method().encode(buf);
|
request.getMethod().encode(buf);
|
||||||
buf.writeByte(SP);
|
buf.writeByte(SP);
|
||||||
|
|
||||||
// Add / as absolute path if no is present.
|
// Add / as absolute path if no is present.
|
||||||
// See http://tools.ietf.org/html/rfc2616#section-5.1.2
|
// See http://tools.ietf.org/html/rfc2616#section-5.1.2
|
||||||
String uri = request.uri();
|
String uri = request.getUri();
|
||||||
|
|
||||||
if (uri.length() == 0) {
|
if (uri.length() == 0) {
|
||||||
uri += SLASH;
|
uri += SLASH;
|
||||||
@ -57,7 +57,7 @@ public class HttpRequestEncoder extends HttpObjectEncoder<HttpRequest> {
|
|||||||
buf.writeBytes(uri.getBytes(CharsetUtil.UTF_8));
|
buf.writeBytes(uri.getBytes(CharsetUtil.UTF_8));
|
||||||
|
|
||||||
buf.writeByte(SP);
|
buf.writeByte(SP);
|
||||||
request.protocolVersion().encode(buf);
|
request.getProtocolVersion().encode(buf);
|
||||||
buf.writeBytes(CRLF);
|
buf.writeBytes(CRLF);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,18 +31,12 @@ package io.netty.handler.codec.http;
|
|||||||
*/
|
*/
|
||||||
public interface HttpResponse extends HttpMessage {
|
public interface HttpResponse extends HttpMessage {
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link #status()} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
HttpResponseStatus getStatus();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the status of this {@link HttpResponse}.
|
* Returns the status of this {@link HttpResponse}.
|
||||||
*
|
*
|
||||||
* @return The {@link HttpResponseStatus} of this {@link HttpResponse}
|
* @return The {@link HttpResponseStatus} of this {@link HttpResponse}
|
||||||
*/
|
*/
|
||||||
HttpResponseStatus status();
|
HttpResponseStatus getStatus();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the status of this {@link HttpResponse}.
|
* Set the status of this {@link HttpResponse}.
|
||||||
|
@ -33,9 +33,9 @@ public class HttpResponseEncoder extends HttpObjectEncoder<HttpResponse> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void encodeInitialLine(ByteBuf buf, HttpResponse response) throws Exception {
|
protected void encodeInitialLine(ByteBuf buf, HttpResponse response) throws Exception {
|
||||||
response.protocolVersion().encode(buf);
|
response.getProtocolVersion().encode(buf);
|
||||||
buf.writeByte(SP);
|
buf.writeByte(SP);
|
||||||
response.status().encode(buf);
|
response.getStatus().encode(buf);
|
||||||
buf.writeBytes(CRLF);
|
buf.writeBytes(CRLF);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -50,12 +50,6 @@ public interface LastHttpContent extends HttpContent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DecoderResult decoderResult() {
|
|
||||||
return DecoderResult.SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@Deprecated
|
|
||||||
public DecoderResult getDecoderResult() {
|
public DecoderResult getDecoderResult() {
|
||||||
return DecoderResult.SUCCESS;
|
return DecoderResult.SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -49,32 +49,32 @@ public final class ServerCookieEncoder {
|
|||||||
|
|
||||||
StringBuilder buf = stringBuilder();
|
StringBuilder buf = stringBuilder();
|
||||||
|
|
||||||
add(buf, cookie.name(), cookie.value());
|
add(buf, cookie.getName(), cookie.getValue());
|
||||||
|
|
||||||
if (cookie.maxAge() != Long.MIN_VALUE) {
|
if (cookie.getMaxAge() != Long.MIN_VALUE) {
|
||||||
if (cookie.version() == 0) {
|
if (cookie.getVersion() == 0) {
|
||||||
addUnquoted(buf, CookieHeaderNames.EXPIRES,
|
addUnquoted(buf, CookieHeaderNames.EXPIRES,
|
||||||
HttpHeaderDateFormat.get().format(
|
HttpHeaderDateFormat.get().format(
|
||||||
new Date(System.currentTimeMillis() +
|
new Date(System.currentTimeMillis() +
|
||||||
cookie.maxAge() * 1000L)));
|
cookie.getMaxAge() * 1000L)));
|
||||||
} else {
|
} else {
|
||||||
add(buf, CookieHeaderNames.MAX_AGE, cookie.maxAge());
|
add(buf, CookieHeaderNames.MAX_AGE, cookie.getMaxAge());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cookie.path() != null) {
|
if (cookie.getPath() != null) {
|
||||||
if (cookie.version() > 0) {
|
if (cookie.getVersion() > 0) {
|
||||||
add(buf, CookieHeaderNames.PATH, cookie.path());
|
add(buf, CookieHeaderNames.PATH, cookie.getPath());
|
||||||
} else {
|
} else {
|
||||||
addUnquoted(buf, CookieHeaderNames.PATH, cookie.path());
|
addUnquoted(buf, CookieHeaderNames.PATH, cookie.getPath());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cookie.domain() != null) {
|
if (cookie.getDomain() != null) {
|
||||||
if (cookie.version() > 0) {
|
if (cookie.getVersion() > 0) {
|
||||||
add(buf, CookieHeaderNames.DOMAIN, cookie.domain());
|
add(buf, CookieHeaderNames.DOMAIN, cookie.getDomain());
|
||||||
} else {
|
} else {
|
||||||
addUnquoted(buf, CookieHeaderNames.DOMAIN, cookie.domain());
|
addUnquoted(buf, CookieHeaderNames.DOMAIN, cookie.getDomain());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (cookie.isSecure()) {
|
if (cookie.isSecure()) {
|
||||||
@ -87,22 +87,22 @@ public final class ServerCookieEncoder {
|
|||||||
buf.append((char) HttpConstants.SEMICOLON);
|
buf.append((char) HttpConstants.SEMICOLON);
|
||||||
buf.append((char) HttpConstants.SP);
|
buf.append((char) HttpConstants.SP);
|
||||||
}
|
}
|
||||||
if (cookie.version() >= 1) {
|
if (cookie.getVersion() >= 1) {
|
||||||
if (cookie.comment() != null) {
|
if (cookie.getComment() != null) {
|
||||||
add(buf, CookieHeaderNames.COMMENT, cookie.comment());
|
add(buf, CookieHeaderNames.COMMENT, cookie.getComment());
|
||||||
}
|
}
|
||||||
|
|
||||||
add(buf, CookieHeaderNames.VERSION, 1);
|
add(buf, CookieHeaderNames.VERSION, 1);
|
||||||
|
|
||||||
if (cookie.commentUrl() != null) {
|
if (cookie.getCommentUrl() != null) {
|
||||||
addQuoted(buf, CookieHeaderNames.COMMENTURL, cookie.commentUrl());
|
addQuoted(buf, CookieHeaderNames.COMMENTURL, cookie.getCommentUrl());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!cookie.ports().isEmpty()) {
|
if (!cookie.getPorts().isEmpty()) {
|
||||||
buf.append(CookieHeaderNames.PORT);
|
buf.append(CookieHeaderNames.PORT);
|
||||||
buf.append((char) HttpConstants.EQUALS);
|
buf.append((char) HttpConstants.EQUALS);
|
||||||
buf.append((char) HttpConstants.DOUBLE_QUOTE);
|
buf.append((char) HttpConstants.DOUBLE_QUOTE);
|
||||||
for (int port: cookie.ports()) {
|
for (int port: cookie.getPorts()) {
|
||||||
buf.append(port);
|
buf.append(port);
|
||||||
buf.append((char) HttpConstants.COMMA);
|
buf.append((char) HttpConstants.COMMA);
|
||||||
}
|
}
|
||||||
|
@ -64,7 +64,7 @@ public class CorsHandler extends ChannelDuplexHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void handlePreflight(final ChannelHandlerContext ctx, final HttpRequest request) {
|
private void handlePreflight(final ChannelHandlerContext ctx, final HttpRequest request) {
|
||||||
final HttpResponse response = new DefaultFullHttpResponse(request.protocolVersion(), OK);
|
final HttpResponse response = new DefaultFullHttpResponse(request.getProtocolVersion(), OK);
|
||||||
if (setOrigin(response)) {
|
if (setOrigin(response)) {
|
||||||
setAllowMethods(response);
|
setAllowMethods(response);
|
||||||
setAllowHeaders(response);
|
setAllowHeaders(response);
|
||||||
@ -153,7 +153,7 @@ public class CorsHandler extends ChannelDuplexHandler {
|
|||||||
|
|
||||||
private static boolean isPreflightRequest(final HttpRequest request) {
|
private static boolean isPreflightRequest(final HttpRequest request) {
|
||||||
final HttpHeaders headers = request.headers();
|
final HttpHeaders headers = request.headers();
|
||||||
return request.method().equals(OPTIONS) &&
|
return request.getMethod().equals(OPTIONS) &&
|
||||||
headers.contains(ORIGIN) &&
|
headers.contains(ORIGIN) &&
|
||||||
headers.contains(ACCESS_CONTROL_REQUEST_METHOD);
|
headers.contains(ACCESS_CONTROL_REQUEST_METHOD);
|
||||||
}
|
}
|
||||||
@ -197,7 +197,7 @@ public class CorsHandler extends ChannelDuplexHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static void forbidden(final ChannelHandlerContext ctx, final HttpRequest request) {
|
private static void forbidden(final ChannelHandlerContext ctx, final HttpRequest request) {
|
||||||
ctx.writeAndFlush(new DefaultFullHttpResponse(request.protocolVersion(), FORBIDDEN))
|
ctx.writeAndFlush(new DefaultFullHttpResponse(request.getProtocolVersion(), FORBIDDEN))
|
||||||
.addListener(ChannelFutureListener.CLOSE);
|
.addListener(ChannelFutureListener.CLOSE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -188,7 +188,7 @@ public class HttpPostRequestEncoder implements ChunkedInput<HttpContent> {
|
|||||||
if (charset == null) {
|
if (charset == null) {
|
||||||
throw new NullPointerException("charset");
|
throw new NullPointerException("charset");
|
||||||
}
|
}
|
||||||
if (request.method() != HttpMethod.POST) {
|
if (request.getMethod() != HttpMethod.POST) {
|
||||||
throw new ErrorDataEncoderException("Cannot create a Encoder if not a POST");
|
throw new ErrorDataEncoderException("Cannot create a Encoder if not a POST");
|
||||||
}
|
}
|
||||||
this.request = request;
|
this.request = request;
|
||||||
@ -1116,32 +1116,17 @@ public class HttpPostRequestEncoder implements ChunkedInput<HttpContent> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public HttpMethod getMethod() {
|
public HttpMethod getMethod() {
|
||||||
return request.method();
|
return request.getMethod();
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public HttpMethod method() {
|
|
||||||
return request.method();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getUri() {
|
public String getUri() {
|
||||||
return request.uri();
|
return request.getUri();
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String uri() {
|
|
||||||
return request.uri();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public HttpVersion getProtocolVersion() {
|
public HttpVersion getProtocolVersion() {
|
||||||
return request.protocolVersion();
|
return request.getProtocolVersion();
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public HttpVersion protocolVersion() {
|
|
||||||
return request.protocolVersion();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -1150,14 +1135,8 @@ public class HttpPostRequestEncoder implements ChunkedInput<HttpContent> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DecoderResult decoderResult() {
|
|
||||||
return request.decoderResult();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@Deprecated
|
|
||||||
public DecoderResult getDecoderResult() {
|
public DecoderResult getDecoderResult() {
|
||||||
return request.decoderResult();
|
return request.getDecoderResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -191,8 +191,8 @@ public class WebSocketClientHandshaker00 extends WebSocketClientHandshaker {
|
|||||||
protected void verify(FullHttpResponse response) {
|
protected void verify(FullHttpResponse response) {
|
||||||
final HttpResponseStatus status = new HttpResponseStatus(101, "WebSocket Protocol Handshake");
|
final HttpResponseStatus status = new HttpResponseStatus(101, "WebSocket Protocol Handshake");
|
||||||
|
|
||||||
if (!response.status().equals(status)) {
|
if (!response.getStatus().equals(status)) {
|
||||||
throw new WebSocketHandshakeException("Invalid handshake response getStatus: " + response.status());
|
throw new WebSocketHandshakeException("Invalid handshake response getStatus: " + response.getStatus());
|
||||||
}
|
}
|
||||||
|
|
||||||
HttpHeaders headers = response.headers();
|
HttpHeaders headers = response.headers();
|
||||||
|
@ -168,8 +168,8 @@ public class WebSocketClientHandshaker07 extends WebSocketClientHandshaker {
|
|||||||
final HttpResponseStatus status = HttpResponseStatus.SWITCHING_PROTOCOLS;
|
final HttpResponseStatus status = HttpResponseStatus.SWITCHING_PROTOCOLS;
|
||||||
final HttpHeaders headers = response.headers();
|
final HttpHeaders headers = response.headers();
|
||||||
|
|
||||||
if (!response.status().equals(status)) {
|
if (!response.getStatus().equals(status)) {
|
||||||
throw new WebSocketHandshakeException("Invalid handshake response getStatus: " + response.status());
|
throw new WebSocketHandshakeException("Invalid handshake response getStatus: " + response.getStatus());
|
||||||
}
|
}
|
||||||
|
|
||||||
String upgrade = headers.get(Names.UPGRADE);
|
String upgrade = headers.get(Names.UPGRADE);
|
||||||
|
@ -168,8 +168,8 @@ public class WebSocketClientHandshaker08 extends WebSocketClientHandshaker {
|
|||||||
final HttpResponseStatus status = HttpResponseStatus.SWITCHING_PROTOCOLS;
|
final HttpResponseStatus status = HttpResponseStatus.SWITCHING_PROTOCOLS;
|
||||||
final HttpHeaders headers = response.headers();
|
final HttpHeaders headers = response.headers();
|
||||||
|
|
||||||
if (!response.status().equals(status)) {
|
if (!response.getStatus().equals(status)) {
|
||||||
throw new WebSocketHandshakeException("Invalid handshake response getStatus: " + response.status());
|
throw new WebSocketHandshakeException("Invalid handshake response getStatus: " + response.getStatus());
|
||||||
}
|
}
|
||||||
|
|
||||||
String upgrade = headers.get(Names.UPGRADE);
|
String upgrade = headers.get(Names.UPGRADE);
|
||||||
|
@ -178,8 +178,8 @@ public class WebSocketClientHandshaker13 extends WebSocketClientHandshaker {
|
|||||||
final HttpResponseStatus status = HttpResponseStatus.SWITCHING_PROTOCOLS;
|
final HttpResponseStatus status = HttpResponseStatus.SWITCHING_PROTOCOLS;
|
||||||
final HttpHeaders headers = response.headers();
|
final HttpHeaders headers = response.headers();
|
||||||
|
|
||||||
if (!response.status().equals(status)) {
|
if (!response.getStatus().equals(status)) {
|
||||||
throw new WebSocketHandshakeException("Invalid handshake response getStatus: " + response.status());
|
throw new WebSocketHandshakeException("Invalid handshake response getStatus: " + response.getStatus());
|
||||||
}
|
}
|
||||||
|
|
||||||
String upgrade = headers.get(Names.UPGRADE);
|
String upgrade = headers.get(Names.UPGRADE);
|
||||||
|
@ -55,7 +55,7 @@ class WebSocketServerProtocolHandshakeHandler
|
|||||||
public void channelRead(final ChannelHandlerContext ctx, Object msg) throws Exception {
|
public void channelRead(final ChannelHandlerContext ctx, Object msg) throws Exception {
|
||||||
FullHttpRequest req = (FullHttpRequest) msg;
|
FullHttpRequest req = (FullHttpRequest) msg;
|
||||||
try {
|
try {
|
||||||
if (req.method() != GET) {
|
if (req.getMethod() != GET) {
|
||||||
sendHttpResponse(ctx, req, new DefaultFullHttpResponse(HTTP_1_1, FORBIDDEN));
|
sendHttpResponse(ctx, req, new DefaultFullHttpResponse(HTTP_1_1, FORBIDDEN));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -90,7 +90,7 @@ class WebSocketServerProtocolHandshakeHandler
|
|||||||
|
|
||||||
private static void sendHttpResponse(ChannelHandlerContext ctx, HttpRequest req, HttpResponse res) {
|
private static void sendHttpResponse(ChannelHandlerContext ctx, HttpRequest req, HttpResponse res) {
|
||||||
ChannelFuture f = ctx.channel().writeAndFlush(res);
|
ChannelFuture f = ctx.channel().writeAndFlush(res);
|
||||||
if (!isKeepAlive(req) || res.status().code() != 200) {
|
if (!isKeepAlive(req) || res.getStatus().code() != 200) {
|
||||||
f.addListener(ChannelFutureListener.CLOSE);
|
f.addListener(ChannelFutureListener.CLOSE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38,11 +38,11 @@ public class RtspRequestEncoder extends RtspObjectEncoder<HttpRequest> {
|
|||||||
@Override
|
@Override
|
||||||
protected void encodeInitialLine(ByteBuf buf, HttpRequest request)
|
protected void encodeInitialLine(ByteBuf buf, HttpRequest request)
|
||||||
throws Exception {
|
throws Exception {
|
||||||
encodeAscii(request.method().toString(), buf);
|
encodeAscii(request.getMethod().toString(), buf);
|
||||||
buf.writeByte(SP);
|
buf.writeByte(SP);
|
||||||
buf.writeBytes(request.uri().getBytes(CharsetUtil.UTF_8));
|
buf.writeBytes(request.getUri().getBytes(CharsetUtil.UTF_8));
|
||||||
buf.writeByte(SP);
|
buf.writeByte(SP);
|
||||||
encodeAscii(request.protocolVersion().toString(), buf);
|
encodeAscii(request.getProtocolVersion().toString(), buf);
|
||||||
buf.writeBytes(CRLF);
|
buf.writeBytes(CRLF);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38,11 +38,11 @@ public class RtspResponseEncoder extends RtspObjectEncoder<HttpResponse> {
|
|||||||
@Override
|
@Override
|
||||||
protected void encodeInitialLine(ByteBuf buf, HttpResponse response)
|
protected void encodeInitialLine(ByteBuf buf, HttpResponse response)
|
||||||
throws Exception {
|
throws Exception {
|
||||||
encodeAscii(response.protocolVersion().toString(), buf);
|
encodeAscii(response.getProtocolVersion().toString(), buf);
|
||||||
buf.writeByte(SP);
|
buf.writeByte(SP);
|
||||||
buf.writeBytes(String.valueOf(response.status().code()).getBytes(CharsetUtil.US_ASCII));
|
buf.writeBytes(String.valueOf(response.getStatus().code()).getBytes(CharsetUtil.US_ASCII));
|
||||||
buf.writeByte(SP);
|
buf.writeByte(SP);
|
||||||
encodeAscii(String.valueOf(response.status().reasonPhrase()), buf);
|
encodeAscii(String.valueOf(response.getStatus().reasonPhrase()), buf);
|
||||||
buf.writeBytes(CRLF);
|
buf.writeBytes(CRLF);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -229,15 +229,15 @@ public class SpdyHttpEncoder extends MessageToMessageEncoder<HttpObject> {
|
|||||||
// Unfold the first line of the message into name/value pairs
|
// Unfold the first line of the message into name/value pairs
|
||||||
if (httpMessage instanceof FullHttpRequest) {
|
if (httpMessage instanceof FullHttpRequest) {
|
||||||
HttpRequest httpRequest = (HttpRequest) httpMessage;
|
HttpRequest httpRequest = (HttpRequest) httpMessage;
|
||||||
SpdyHeaders.setMethod(spdyVersion, spdySynStreamFrame, httpRequest.method());
|
SpdyHeaders.setMethod(spdyVersion, spdySynStreamFrame, httpRequest.getMethod());
|
||||||
SpdyHeaders.setUrl(spdyVersion, spdySynStreamFrame, httpRequest.uri());
|
SpdyHeaders.setUrl(spdyVersion, spdySynStreamFrame, httpRequest.getUri());
|
||||||
SpdyHeaders.setVersion(spdyVersion, spdySynStreamFrame, httpMessage.protocolVersion());
|
SpdyHeaders.setVersion(spdyVersion, spdySynStreamFrame, httpMessage.getProtocolVersion());
|
||||||
}
|
}
|
||||||
if (httpMessage instanceof HttpResponse) {
|
if (httpMessage instanceof HttpResponse) {
|
||||||
HttpResponse httpResponse = (HttpResponse) httpMessage;
|
HttpResponse httpResponse = (HttpResponse) httpMessage;
|
||||||
SpdyHeaders.setStatus(spdyVersion, spdySynStreamFrame, httpResponse.status());
|
SpdyHeaders.setStatus(spdyVersion, spdySynStreamFrame, httpResponse.getStatus());
|
||||||
SpdyHeaders.setUrl(spdyVersion, spdySynStreamFrame, URL);
|
SpdyHeaders.setUrl(spdyVersion, spdySynStreamFrame, URL);
|
||||||
SpdyHeaders.setVersion(spdyVersion, spdySynStreamFrame, httpMessage.protocolVersion());
|
SpdyHeaders.setVersion(spdyVersion, spdySynStreamFrame, httpMessage.getProtocolVersion());
|
||||||
spdySynStreamFrame.setUnidirectional(true);
|
spdySynStreamFrame.setUnidirectional(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -280,8 +280,8 @@ public class SpdyHttpEncoder extends MessageToMessageEncoder<HttpObject> {
|
|||||||
SpdySynReplyFrame spdySynReplyFrame = new DefaultSpdySynReplyFrame(streamID);
|
SpdySynReplyFrame spdySynReplyFrame = new DefaultSpdySynReplyFrame(streamID);
|
||||||
|
|
||||||
// Unfold the first line of the response into name/value pairs
|
// Unfold the first line of the response into name/value pairs
|
||||||
SpdyHeaders.setStatus(spdyVersion, spdySynReplyFrame, httpResponse.status());
|
SpdyHeaders.setStatus(spdyVersion, spdySynReplyFrame, httpResponse.getStatus());
|
||||||
SpdyHeaders.setVersion(spdyVersion, spdySynReplyFrame, httpResponse.protocolVersion());
|
SpdyHeaders.setVersion(spdyVersion, spdySynReplyFrame, httpResponse.getProtocolVersion());
|
||||||
|
|
||||||
// Transfer the remaining HTTP headers
|
// Transfer the remaining HTTP headers
|
||||||
for (Map.Entry<String, String> entry: httpResponse.headers()) {
|
for (Map.Entry<String, String> entry: httpResponse.headers()) {
|
||||||
|
@ -36,27 +36,27 @@ public class CookieDecoderTest {
|
|||||||
assertEquals(1, cookies.size());
|
assertEquals(1, cookies.size());
|
||||||
Cookie cookie = cookies.iterator().next();
|
Cookie cookie = cookies.iterator().next();
|
||||||
assertNotNull(cookie);
|
assertNotNull(cookie);
|
||||||
assertEquals("myValue", cookie.value());
|
assertEquals("myValue", cookie.getValue());
|
||||||
assertNull(cookie.comment());
|
assertNull(cookie.getComment());
|
||||||
assertNull(cookie.commentUrl());
|
assertNull(cookie.getCommentUrl());
|
||||||
assertEquals(".adomainsomewhere", cookie.domain());
|
assertEquals(".adomainsomewhere", cookie.getDomain());
|
||||||
assertFalse(cookie.isDiscard());
|
assertFalse(cookie.isDiscard());
|
||||||
|
|
||||||
boolean fail = true;
|
boolean fail = true;
|
||||||
for (int i = 40; i <= 60; i ++) {
|
for (int i = 40; i <= 60; i ++) {
|
||||||
if (cookie.maxAge() == i) {
|
if (cookie.getMaxAge() == i) {
|
||||||
fail = false;
|
fail = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (fail) {
|
if (fail) {
|
||||||
fail("expected: 50, actual: " + cookie.maxAge());
|
fail("expected: 50, actual: " + cookie.getMaxAge());
|
||||||
}
|
}
|
||||||
|
|
||||||
assertEquals("/apathsomewhere", cookie.path());
|
assertEquals("/apathsomewhere", cookie.getPath());
|
||||||
assertTrue(cookie.ports().isEmpty());
|
assertTrue(cookie.getPorts().isEmpty());
|
||||||
assertTrue(cookie.isSecure());
|
assertTrue(cookie.isSecure());
|
||||||
assertEquals(0, cookie.version());
|
assertEquals(0, cookie.getVersion());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -68,16 +68,16 @@ public class CookieDecoderTest {
|
|||||||
assertEquals(1, cookies.size());
|
assertEquals(1, cookies.size());
|
||||||
Cookie cookie = cookies.iterator().next();
|
Cookie cookie = cookies.iterator().next();
|
||||||
assertNotNull(cookie);
|
assertNotNull(cookie);
|
||||||
assertEquals("myValue", cookie.value());
|
assertEquals("myValue", cookie.getValue());
|
||||||
assertNull(cookie.comment());
|
assertNull(cookie.getComment());
|
||||||
assertNull(cookie.commentUrl());
|
assertNull(cookie.getCommentUrl());
|
||||||
assertEquals(".adomainsomewhere", cookie.domain());
|
assertEquals(".adomainsomewhere", cookie.getDomain());
|
||||||
assertFalse(cookie.isDiscard());
|
assertFalse(cookie.isDiscard());
|
||||||
assertEquals(50, cookie.maxAge());
|
assertEquals(50, cookie.getMaxAge());
|
||||||
assertEquals("/apathsomewhere", cookie.path());
|
assertEquals("/apathsomewhere", cookie.getPath());
|
||||||
assertTrue(cookie.ports().isEmpty());
|
assertTrue(cookie.getPorts().isEmpty());
|
||||||
assertTrue(cookie.isSecure());
|
assertTrue(cookie.isSecure());
|
||||||
assertEquals(0, cookie.version());
|
assertEquals(0, cookie.getVersion());
|
||||||
}
|
}
|
||||||
@Test
|
@Test
|
||||||
public void testDecodingSingleCookieV1() {
|
public void testDecodingSingleCookieV1() {
|
||||||
@ -86,17 +86,17 @@ public class CookieDecoderTest {
|
|||||||
Set<Cookie> cookies = CookieDecoder.decode(cookieString);
|
Set<Cookie> cookies = CookieDecoder.decode(cookieString);
|
||||||
assertEquals(1, cookies.size());
|
assertEquals(1, cookies.size());
|
||||||
Cookie cookie = cookies.iterator().next();
|
Cookie cookie = cookies.iterator().next();
|
||||||
assertEquals("myValue", cookie.value());
|
assertEquals("myValue", cookie.getValue());
|
||||||
assertNotNull(cookie);
|
assertNotNull(cookie);
|
||||||
assertEquals("this is a comment", cookie.comment());
|
assertEquals("this is a comment", cookie.getComment());
|
||||||
assertNull(cookie.commentUrl());
|
assertNull(cookie.getCommentUrl());
|
||||||
assertEquals(".adomainsomewhere", cookie.domain());
|
assertEquals(".adomainsomewhere", cookie.getDomain());
|
||||||
assertFalse(cookie.isDiscard());
|
assertFalse(cookie.isDiscard());
|
||||||
assertEquals(50, cookie.maxAge());
|
assertEquals(50, cookie.getMaxAge());
|
||||||
assertEquals("/apathsomewhere", cookie.path());
|
assertEquals("/apathsomewhere", cookie.getPath());
|
||||||
assertTrue(cookie.ports().isEmpty());
|
assertTrue(cookie.getPorts().isEmpty());
|
||||||
assertTrue(cookie.isSecure());
|
assertTrue(cookie.isSecure());
|
||||||
assertEquals(1, cookie.version());
|
assertEquals(1, cookie.getVersion());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -108,16 +108,16 @@ public class CookieDecoderTest {
|
|||||||
assertEquals(1, cookies.size());
|
assertEquals(1, cookies.size());
|
||||||
Cookie cookie = cookies.iterator().next();
|
Cookie cookie = cookies.iterator().next();
|
||||||
assertNotNull(cookie);
|
assertNotNull(cookie);
|
||||||
assertEquals("myValue", cookie.value());
|
assertEquals("myValue", cookie.getValue());
|
||||||
assertEquals("this is a comment", cookie.comment());
|
assertEquals("this is a comment", cookie.getComment());
|
||||||
assertNull(cookie.commentUrl());
|
assertNull(cookie.getCommentUrl());
|
||||||
assertEquals(".adomainsomewhere", cookie.domain());
|
assertEquals(".adomainsomewhere", cookie.getDomain());
|
||||||
assertFalse(cookie.isDiscard());
|
assertFalse(cookie.isDiscard());
|
||||||
assertEquals(50, cookie.maxAge());
|
assertEquals(50, cookie.getMaxAge());
|
||||||
assertEquals("/apathsomewhere", cookie.path());
|
assertEquals("/apathsomewhere", cookie.getPath());
|
||||||
assertTrue(cookie.ports().isEmpty());
|
assertTrue(cookie.getPorts().isEmpty());
|
||||||
assertTrue(cookie.isSecure());
|
assertTrue(cookie.isSecure());
|
||||||
assertEquals(1, cookie.version());
|
assertEquals(1, cookie.getVersion());
|
||||||
}
|
}
|
||||||
@Test
|
@Test
|
||||||
public void testDecodingSingleCookieV2() {
|
public void testDecodingSingleCookieV2() {
|
||||||
@ -128,18 +128,18 @@ public class CookieDecoderTest {
|
|||||||
assertEquals(1, cookies.size());
|
assertEquals(1, cookies.size());
|
||||||
Cookie cookie = cookies.iterator().next();
|
Cookie cookie = cookies.iterator().next();
|
||||||
assertNotNull(cookie);
|
assertNotNull(cookie);
|
||||||
assertEquals("myValue", cookie.value());
|
assertEquals("myValue", cookie.getValue());
|
||||||
assertEquals("this is a comment", cookie.comment());
|
assertEquals("this is a comment", cookie.getComment());
|
||||||
assertEquals("http://aurl.com", cookie.commentUrl());
|
assertEquals("http://aurl.com", cookie.getCommentUrl());
|
||||||
assertEquals(".adomainsomewhere", cookie.domain());
|
assertEquals(".adomainsomewhere", cookie.getDomain());
|
||||||
assertTrue(cookie.isDiscard());
|
assertTrue(cookie.isDiscard());
|
||||||
assertEquals(50, cookie.maxAge());
|
assertEquals(50, cookie.getMaxAge());
|
||||||
assertEquals("/apathsomewhere", cookie.path());
|
assertEquals("/apathsomewhere", cookie.getPath());
|
||||||
assertEquals(2, cookie.ports().size());
|
assertEquals(2, cookie.getPorts().size());
|
||||||
assertTrue(cookie.ports().contains(80));
|
assertTrue(cookie.getPorts().contains(80));
|
||||||
assertTrue(cookie.ports().contains(8080));
|
assertTrue(cookie.getPorts().contains(8080));
|
||||||
assertTrue(cookie.isSecure());
|
assertTrue(cookie.isSecure());
|
||||||
assertEquals(2, cookie.version());
|
assertEquals(2, cookie.getVersion());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -157,42 +157,42 @@ public class CookieDecoderTest {
|
|||||||
Iterator<Cookie> it = cookies.iterator();
|
Iterator<Cookie> it = cookies.iterator();
|
||||||
Cookie cookie = it.next();
|
Cookie cookie = it.next();
|
||||||
assertNotNull(cookie);
|
assertNotNull(cookie);
|
||||||
assertEquals("myValue", cookie.value());
|
assertEquals("myValue", cookie.getValue());
|
||||||
assertEquals("this is a comment", cookie.comment());
|
assertEquals("this is a comment", cookie.getComment());
|
||||||
assertEquals("http://aurl.com", cookie.commentUrl());
|
assertEquals("http://aurl.com", cookie.getCommentUrl());
|
||||||
assertEquals(".adomainsomewhere", cookie.domain());
|
assertEquals(".adomainsomewhere", cookie.getDomain());
|
||||||
assertTrue(cookie.isDiscard());
|
assertTrue(cookie.isDiscard());
|
||||||
assertEquals(50, cookie.maxAge());
|
assertEquals(50, cookie.getMaxAge());
|
||||||
assertEquals("/apathsomewhere", cookie.path());
|
assertEquals("/apathsomewhere", cookie.getPath());
|
||||||
assertEquals(2, cookie.ports().size());
|
assertEquals(2, cookie.getPorts().size());
|
||||||
assertTrue(cookie.ports().contains(80));
|
assertTrue(cookie.getPorts().contains(80));
|
||||||
assertTrue(cookie.ports().contains(8080));
|
assertTrue(cookie.getPorts().contains(8080));
|
||||||
assertTrue(cookie.isSecure());
|
assertTrue(cookie.isSecure());
|
||||||
assertEquals(2, cookie.version());
|
assertEquals(2, cookie.getVersion());
|
||||||
cookie = it.next();
|
cookie = it.next();
|
||||||
assertNotNull(cookie);
|
assertNotNull(cookie);
|
||||||
assertEquals("myValue2", cookie.value());
|
assertEquals("myValue2", cookie.getValue());
|
||||||
assertEquals("this is another comment", cookie.comment());
|
assertEquals("this is another comment", cookie.getComment());
|
||||||
assertEquals("http://anotherurl.com", cookie.commentUrl());
|
assertEquals("http://anotherurl.com", cookie.getCommentUrl());
|
||||||
assertEquals(".anotherdomainsomewhere", cookie.domain());
|
assertEquals(".anotherdomainsomewhere", cookie.getDomain());
|
||||||
assertFalse(cookie.isDiscard());
|
assertFalse(cookie.isDiscard());
|
||||||
assertEquals(0, cookie.maxAge());
|
assertEquals(0, cookie.getMaxAge());
|
||||||
assertEquals("/anotherpathsomewhere", cookie.path());
|
assertEquals("/anotherpathsomewhere", cookie.getPath());
|
||||||
assertTrue(cookie.ports().isEmpty());
|
assertTrue(cookie.getPorts().isEmpty());
|
||||||
assertFalse(cookie.isSecure());
|
assertFalse(cookie.isSecure());
|
||||||
assertEquals(2, cookie.version());
|
assertEquals(2, cookie.getVersion());
|
||||||
cookie = it.next();
|
cookie = it.next();
|
||||||
assertNotNull(cookie);
|
assertNotNull(cookie);
|
||||||
assertEquals("myValue3", cookie.value());
|
assertEquals("myValue3", cookie.getValue());
|
||||||
assertNull(cookie.comment());
|
assertNull(cookie.getComment());
|
||||||
assertNull(cookie.commentUrl());
|
assertNull(cookie.getCommentUrl());
|
||||||
assertNull(cookie.domain());
|
assertNull(cookie.getDomain());
|
||||||
assertFalse(cookie.isDiscard());
|
assertFalse(cookie.isDiscard());
|
||||||
assertEquals(0, cookie.maxAge());
|
assertEquals(0, cookie.getMaxAge());
|
||||||
assertNull(cookie.path());
|
assertNull(cookie.getPath());
|
||||||
assertTrue(cookie.ports().isEmpty());
|
assertTrue(cookie.getPorts().isEmpty());
|
||||||
assertFalse(cookie.isSecure());
|
assertFalse(cookie.isSecure());
|
||||||
assertEquals(2, cookie.version());
|
assertEquals(2, cookie.getVersion());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -206,26 +206,26 @@ public class CookieDecoderTest {
|
|||||||
Cookie c;
|
Cookie c;
|
||||||
|
|
||||||
c = it.next();
|
c = it.next();
|
||||||
assertEquals(1, c.version());
|
assertEquals(1, c.getVersion());
|
||||||
assertEquals("Part_Number", c.name());
|
assertEquals("Part_Number", c.getName());
|
||||||
assertEquals("Rocket_Launcher_0001", c.value());
|
assertEquals("Rocket_Launcher_0001", c.getValue());
|
||||||
assertEquals("/acme", c.path());
|
assertEquals("/acme", c.getPath());
|
||||||
assertNull(c.comment());
|
assertNull(c.getComment());
|
||||||
assertNull(c.commentUrl());
|
assertNull(c.getCommentUrl());
|
||||||
assertNull(c.domain());
|
assertNull(c.getDomain());
|
||||||
assertTrue(c.ports().isEmpty());
|
assertTrue(c.getPorts().isEmpty());
|
||||||
assertEquals(Long.MIN_VALUE, c.maxAge());
|
assertEquals(Long.MIN_VALUE, c.getMaxAge());
|
||||||
|
|
||||||
c = it.next();
|
c = it.next();
|
||||||
assertEquals(1, c.version());
|
assertEquals(1, c.getVersion());
|
||||||
assertEquals("Part_Number", c.name());
|
assertEquals("Part_Number", c.getName());
|
||||||
assertEquals("Riding_Rocket_0023", c.value());
|
assertEquals("Riding_Rocket_0023", c.getValue());
|
||||||
assertEquals("/acme/ammo", c.path());
|
assertEquals("/acme/ammo", c.getPath());
|
||||||
assertNull(c.comment());
|
assertNull(c.getComment());
|
||||||
assertNull(c.commentUrl());
|
assertNull(c.getCommentUrl());
|
||||||
assertNull(c.domain());
|
assertNull(c.getDomain());
|
||||||
assertTrue(c.ports().isEmpty());
|
assertTrue(c.getPorts().isEmpty());
|
||||||
assertEquals(Long.MIN_VALUE, c.maxAge());
|
assertEquals(Long.MIN_VALUE, c.getMaxAge());
|
||||||
|
|
||||||
assertFalse(it.hasNext());
|
assertFalse(it.hasNext());
|
||||||
}
|
}
|
||||||
@ -242,27 +242,27 @@ public class CookieDecoderTest {
|
|||||||
|
|
||||||
assertTrue(it.hasNext());
|
assertTrue(it.hasNext());
|
||||||
c = it.next();
|
c = it.next();
|
||||||
assertEquals(1, c.version());
|
assertEquals(1, c.getVersion());
|
||||||
assertEquals("session_id", c.name());
|
assertEquals("session_id", c.getName());
|
||||||
assertEquals("1234", c.value());
|
assertEquals("1234", c.getValue());
|
||||||
assertNull(c.path());
|
assertNull(c.getPath());
|
||||||
assertNull(c.comment());
|
assertNull(c.getComment());
|
||||||
assertNull(c.commentUrl());
|
assertNull(c.getCommentUrl());
|
||||||
assertNull(c.domain());
|
assertNull(c.getDomain());
|
||||||
assertTrue(c.ports().isEmpty());
|
assertTrue(c.getPorts().isEmpty());
|
||||||
assertEquals(Long.MIN_VALUE, c.maxAge());
|
assertEquals(Long.MIN_VALUE, c.getMaxAge());
|
||||||
|
|
||||||
assertTrue(it.hasNext());
|
assertTrue(it.hasNext());
|
||||||
c = it.next();
|
c = it.next();
|
||||||
assertEquals(1, c.version());
|
assertEquals(1, c.getVersion());
|
||||||
assertEquals("session_id", c.name());
|
assertEquals("session_id", c.getName());
|
||||||
assertEquals("1111", c.value());
|
assertEquals("1111", c.getValue());
|
||||||
assertEquals(".cracker.edu", c.domain());
|
assertEquals(".cracker.edu", c.getDomain());
|
||||||
assertNull(c.path());
|
assertNull(c.getPath());
|
||||||
assertNull(c.comment());
|
assertNull(c.getComment());
|
||||||
assertNull(c.commentUrl());
|
assertNull(c.getCommentUrl());
|
||||||
assertTrue(c.ports().isEmpty());
|
assertTrue(c.getPorts().isEmpty());
|
||||||
assertEquals(Long.MIN_VALUE, c.maxAge());
|
assertEquals(Long.MIN_VALUE, c.getMaxAge());
|
||||||
|
|
||||||
assertFalse(it.hasNext());
|
assertFalse(it.hasNext());
|
||||||
}
|
}
|
||||||
@ -284,36 +284,36 @@ public class CookieDecoderTest {
|
|||||||
Cookie c;
|
Cookie c;
|
||||||
|
|
||||||
c = it.next();
|
c = it.next();
|
||||||
assertEquals("a", c.name());
|
assertEquals("a", c.getName());
|
||||||
assertEquals("", c.value());
|
assertEquals("", c.getValue());
|
||||||
|
|
||||||
c = it.next();
|
c = it.next();
|
||||||
assertEquals("b", c.name());
|
assertEquals("b", c.getName());
|
||||||
assertEquals("1", c.value());
|
assertEquals("1", c.getValue());
|
||||||
|
|
||||||
c = it.next();
|
c = it.next();
|
||||||
assertEquals("c", c.name());
|
assertEquals("c", c.getName());
|
||||||
assertEquals("\"1\"2\"", c.value());
|
assertEquals("\"1\"2\"", c.getValue());
|
||||||
|
|
||||||
c = it.next();
|
c = it.next();
|
||||||
assertEquals("d", c.name());
|
assertEquals("d", c.getName());
|
||||||
assertEquals("1\"2\"3", c.value());
|
assertEquals("1\"2\"3", c.getValue());
|
||||||
|
|
||||||
c = it.next();
|
c = it.next();
|
||||||
assertEquals("e", c.name());
|
assertEquals("e", c.getName());
|
||||||
assertEquals("\"\"", c.value());
|
assertEquals("\"\"", c.getValue());
|
||||||
|
|
||||||
c = it.next();
|
c = it.next();
|
||||||
assertEquals("f", c.name());
|
assertEquals("f", c.getName());
|
||||||
assertEquals("1\"\"2", c.value());
|
assertEquals("1\"\"2", c.getValue());
|
||||||
|
|
||||||
c = it.next();
|
c = it.next();
|
||||||
assertEquals("g", c.name());
|
assertEquals("g", c.getName());
|
||||||
assertEquals("\\", c.value());
|
assertEquals("\\", c.getValue());
|
||||||
|
|
||||||
c = it.next();
|
c = it.next();
|
||||||
assertEquals("h", c.name());
|
assertEquals("h", c.getName());
|
||||||
assertEquals("';,\\x", c.value());
|
assertEquals("';,\\x", c.getValue());
|
||||||
|
|
||||||
assertFalse(it.hasNext());
|
assertFalse(it.hasNext());
|
||||||
}
|
}
|
||||||
@ -332,30 +332,30 @@ public class CookieDecoderTest {
|
|||||||
Cookie c;
|
Cookie c;
|
||||||
|
|
||||||
c = it.next();
|
c = it.next();
|
||||||
assertEquals("__utma", c.name());
|
assertEquals("__utma", c.getName());
|
||||||
assertEquals("48461872.1094088325.1258140131.1258140131.1258140131.1", c.value());
|
assertEquals("48461872.1094088325.1258140131.1258140131.1258140131.1", c.getValue());
|
||||||
|
|
||||||
c = it.next();
|
c = it.next();
|
||||||
assertEquals("__utmb", c.name());
|
assertEquals("__utmb", c.getName());
|
||||||
assertEquals("48461872.13.10.1258140131", c.value());
|
assertEquals("48461872.13.10.1258140131", c.getValue());
|
||||||
|
|
||||||
c = it.next();
|
c = it.next();
|
||||||
assertEquals("__utmc", c.name());
|
assertEquals("__utmc", c.getName());
|
||||||
assertEquals("48461872", c.value());
|
assertEquals("48461872", c.getValue());
|
||||||
|
|
||||||
c = it.next();
|
c = it.next();
|
||||||
assertEquals("__utmz", c.name());
|
assertEquals("__utmz", c.getName());
|
||||||
assertEquals("48461872.1258140131.1.1.utmcsr=overstock.com|" +
|
assertEquals("48461872.1258140131.1.1.utmcsr=overstock.com|" +
|
||||||
"utmccn=(referral)|utmcmd=referral|utmcct=/Home-Garden/Furniture/Clearance,/clearance,/32/dept.html",
|
"utmccn=(referral)|utmcmd=referral|utmcct=/Home-Garden/Furniture/Clearance,/clearance,/32/dept.html",
|
||||||
c.value());
|
c.getValue());
|
||||||
|
|
||||||
c = it.next();
|
c = it.next();
|
||||||
assertEquals("ARPT", c.name());
|
assertEquals("ARPT", c.getName());
|
||||||
assertEquals("LWUKQPSWRTUN04CKKJI", c.value());
|
assertEquals("LWUKQPSWRTUN04CKKJI", c.getValue());
|
||||||
|
|
||||||
c = it.next();
|
c = it.next();
|
||||||
assertEquals("kw-2E343B92-B097-442c-BFA5-BE371E0325A2", c.name());
|
assertEquals("kw-2E343B92-B097-442c-BFA5-BE371E0325A2", c.getName());
|
||||||
assertEquals("unfinished furniture", c.value());
|
assertEquals("unfinished furniture", c.getValue());
|
||||||
|
|
||||||
assertFalse(it.hasNext());
|
assertFalse(it.hasNext());
|
||||||
}
|
}
|
||||||
@ -371,7 +371,7 @@ public class CookieDecoderTest {
|
|||||||
Set<Cookie> cookies = CookieDecoder.decode(source);
|
Set<Cookie> cookies = CookieDecoder.decode(source);
|
||||||
|
|
||||||
Cookie c = cookies.iterator().next();
|
Cookie c = cookies.iterator().next();
|
||||||
assertTrue(Math.abs(expectedMaxAge - c.maxAge()) < 2);
|
assertTrue(Math.abs(expectedMaxAge - c.getMaxAge()) < 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -382,7 +382,7 @@ public class CookieDecoderTest {
|
|||||||
Set<Cookie> cookies = CookieDecoder.decode(source);
|
Set<Cookie> cookies = CookieDecoder.decode(source);
|
||||||
|
|
||||||
Cookie c = cookies.iterator().next();
|
Cookie c = cookies.iterator().next();
|
||||||
assertEquals("timeZoneName=(GMT+04:00) Moscow, St. Petersburg, Volgograd&promocode=®ion=BE", c.value());
|
assertEquals("timeZoneName=(GMT+04:00) Moscow, St. Petersburg, Volgograd&promocode=®ion=BE", c.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -390,9 +390,9 @@ public class CookieDecoderTest {
|
|||||||
String src = "path=; expires=Mon, 01-Jan-1990 00:00:00 GMT; path=/; domain=.www.google.com";
|
String src = "path=; expires=Mon, 01-Jan-1990 00:00:00 GMT; path=/; domain=.www.google.com";
|
||||||
Set<Cookie> cookies = CookieDecoder.decode(src);
|
Set<Cookie> cookies = CookieDecoder.decode(src);
|
||||||
Cookie c = cookies.iterator().next();
|
Cookie c = cookies.iterator().next();
|
||||||
assertEquals("path", c.name());
|
assertEquals("path", c.getName());
|
||||||
assertEquals("", c.value());
|
assertEquals("", c.getValue());
|
||||||
assertEquals("/", c.path());
|
assertEquals("/", c.getPath());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -400,8 +400,8 @@ public class CookieDecoderTest {
|
|||||||
String src = "HTTPOnly=";
|
String src = "HTTPOnly=";
|
||||||
Set<Cookie> cookies = CookieDecoder.decode(src);
|
Set<Cookie> cookies = CookieDecoder.decode(src);
|
||||||
Cookie c = cookies.iterator().next();
|
Cookie c = cookies.iterator().next();
|
||||||
assertEquals("HTTPOnly", c.name());
|
assertEquals("HTTPOnly", c.getName());
|
||||||
assertEquals("", c.value());
|
assertEquals("", c.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -410,11 +410,11 @@ public class CookieDecoderTest {
|
|||||||
Set<Cookie> cookies = CookieDecoder.decode(src);
|
Set<Cookie> cookies = CookieDecoder.decode(src);
|
||||||
Iterator<Cookie> i = cookies.iterator();
|
Iterator<Cookie> i = cookies.iterator();
|
||||||
Cookie c = i.next();
|
Cookie c = i.next();
|
||||||
assertEquals("A", c.name());
|
assertEquals("A", c.getName());
|
||||||
assertEquals("v=1&lg=en-US,it-IT,it&intl=it&np=1", c.value());
|
assertEquals("v=1&lg=en-US,it-IT,it&intl=it&np=1", c.getValue());
|
||||||
c = i.next();
|
c = i.next();
|
||||||
assertEquals("T", c.name());
|
assertEquals("T", c.getName());
|
||||||
assertEquals("z=E", c.value());
|
assertEquals("z=E", c.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -468,7 +468,7 @@ public class CookieDecoderTest {
|
|||||||
Set<Cookie> cookies = CookieDecoder.decode("bh=\"" + longValue + "\";");
|
Set<Cookie> cookies = CookieDecoder.decode("bh=\"" + longValue + "\";");
|
||||||
assertEquals(1, cookies.size());
|
assertEquals(1, cookies.size());
|
||||||
Cookie c = cookies.iterator().next();
|
Cookie c = cookies.iterator().next();
|
||||||
assertEquals("bh", c.name());
|
assertEquals("bh", c.getName());
|
||||||
assertEquals(longValue, c.value());
|
assertEquals(longValue, c.getValue());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@ public class HttpInvalidMessageTest {
|
|||||||
EmbeddedChannel ch = new EmbeddedChannel(new HttpRequestDecoder());
|
EmbeddedChannel ch = new EmbeddedChannel(new HttpRequestDecoder());
|
||||||
ch.writeInbound(Unpooled.copiedBuffer("GET / HTTP/1.0 with extra\r\n", CharsetUtil.UTF_8));
|
ch.writeInbound(Unpooled.copiedBuffer("GET / HTTP/1.0 with extra\r\n", CharsetUtil.UTF_8));
|
||||||
HttpRequest req = (HttpRequest) ch.readInbound();
|
HttpRequest req = (HttpRequest) ch.readInbound();
|
||||||
DecoderResult dr = req.decoderResult();
|
DecoderResult dr = req.getDecoderResult();
|
||||||
assertFalse(dr.isSuccess());
|
assertFalse(dr.isSuccess());
|
||||||
assertTrue(dr.isFailure());
|
assertTrue(dr.isFailure());
|
||||||
ensureInboundTrafficDiscarded(ch);
|
ensureInboundTrafficDiscarded(ch);
|
||||||
@ -49,11 +49,11 @@ public class HttpInvalidMessageTest {
|
|||||||
ch.writeInbound(Unpooled.copiedBuffer("Bad=Name: Bad Value\r\n", CharsetUtil.UTF_8));
|
ch.writeInbound(Unpooled.copiedBuffer("Bad=Name: Bad Value\r\n", CharsetUtil.UTF_8));
|
||||||
ch.writeInbound(Unpooled.copiedBuffer("\r\n", CharsetUtil.UTF_8));
|
ch.writeInbound(Unpooled.copiedBuffer("\r\n", CharsetUtil.UTF_8));
|
||||||
HttpRequest req = (HttpRequest) ch.readInbound();
|
HttpRequest req = (HttpRequest) ch.readInbound();
|
||||||
DecoderResult dr = req.decoderResult();
|
DecoderResult dr = req.getDecoderResult();
|
||||||
assertFalse(dr.isSuccess());
|
assertFalse(dr.isSuccess());
|
||||||
assertTrue(dr.isFailure());
|
assertTrue(dr.isFailure());
|
||||||
assertEquals("Good Value", req.headers().get("Good_Name"));
|
assertEquals("Good Value", req.headers().get("Good_Name"));
|
||||||
assertEquals("/maybe-something", req.uri());
|
assertEquals("/maybe-something", req.getUri());
|
||||||
ensureInboundTrafficDiscarded(ch);
|
ensureInboundTrafficDiscarded(ch);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -62,7 +62,7 @@ public class HttpInvalidMessageTest {
|
|||||||
EmbeddedChannel ch = new EmbeddedChannel(new HttpResponseDecoder());
|
EmbeddedChannel ch = new EmbeddedChannel(new HttpResponseDecoder());
|
||||||
ch.writeInbound(Unpooled.copiedBuffer("HTTP/1.0 BAD_CODE Bad Server\r\n", CharsetUtil.UTF_8));
|
ch.writeInbound(Unpooled.copiedBuffer("HTTP/1.0 BAD_CODE Bad Server\r\n", CharsetUtil.UTF_8));
|
||||||
HttpResponse res = (HttpResponse) ch.readInbound();
|
HttpResponse res = (HttpResponse) ch.readInbound();
|
||||||
DecoderResult dr = res.decoderResult();
|
DecoderResult dr = res.getDecoderResult();
|
||||||
assertFalse(dr.isSuccess());
|
assertFalse(dr.isSuccess());
|
||||||
assertTrue(dr.isFailure());
|
assertTrue(dr.isFailure());
|
||||||
ensureInboundTrafficDiscarded(ch);
|
ensureInboundTrafficDiscarded(ch);
|
||||||
@ -76,10 +76,10 @@ public class HttpInvalidMessageTest {
|
|||||||
ch.writeInbound(Unpooled.copiedBuffer("Bad=Name: Bad Value\r\n", CharsetUtil.UTF_8));
|
ch.writeInbound(Unpooled.copiedBuffer("Bad=Name: Bad Value\r\n", CharsetUtil.UTF_8));
|
||||||
ch.writeInbound(Unpooled.copiedBuffer("\r\n", CharsetUtil.UTF_8));
|
ch.writeInbound(Unpooled.copiedBuffer("\r\n", CharsetUtil.UTF_8));
|
||||||
HttpResponse res = (HttpResponse) ch.readInbound();
|
HttpResponse res = (HttpResponse) ch.readInbound();
|
||||||
DecoderResult dr = res.decoderResult();
|
DecoderResult dr = res.getDecoderResult();
|
||||||
assertFalse(dr.isSuccess());
|
assertFalse(dr.isSuccess());
|
||||||
assertTrue(dr.isFailure());
|
assertTrue(dr.isFailure());
|
||||||
assertEquals("Maybe OK", res.status().reasonPhrase());
|
assertEquals("Maybe OK", res.getStatus().reasonPhrase());
|
||||||
assertEquals("Good Value", res.headers().get("Good_Name"));
|
assertEquals("Good Value", res.headers().get("Good_Name"));
|
||||||
ensureInboundTrafficDiscarded(ch);
|
ensureInboundTrafficDiscarded(ch);
|
||||||
}
|
}
|
||||||
@ -92,10 +92,10 @@ public class HttpInvalidMessageTest {
|
|||||||
ch.writeInbound(Unpooled.copiedBuffer("BAD_LENGTH\r\n", CharsetUtil.UTF_8));
|
ch.writeInbound(Unpooled.copiedBuffer("BAD_LENGTH\r\n", CharsetUtil.UTF_8));
|
||||||
|
|
||||||
HttpRequest req = (HttpRequest) ch.readInbound();
|
HttpRequest req = (HttpRequest) ch.readInbound();
|
||||||
assertTrue(req.decoderResult().isSuccess());
|
assertTrue(req.getDecoderResult().isSuccess());
|
||||||
|
|
||||||
LastHttpContent chunk = (LastHttpContent) ch.readInbound();
|
LastHttpContent chunk = (LastHttpContent) ch.readInbound();
|
||||||
DecoderResult dr = chunk.decoderResult();
|
DecoderResult dr = chunk.getDecoderResult();
|
||||||
assertFalse(dr.isSuccess());
|
assertFalse(dr.isSuccess());
|
||||||
assertTrue(dr.isFailure());
|
assertTrue(dr.isFailure());
|
||||||
ensureInboundTrafficDiscarded(ch);
|
ensureInboundTrafficDiscarded(ch);
|
||||||
|
@ -35,8 +35,8 @@ public class HttpResponseDecoderTest {
|
|||||||
CharsetUtil.US_ASCII));
|
CharsetUtil.US_ASCII));
|
||||||
|
|
||||||
HttpResponse res = (HttpResponse) ch.readInbound();
|
HttpResponse res = (HttpResponse) ch.readInbound();
|
||||||
assertThat(res.protocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
assertThat(res.getProtocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
||||||
assertThat(res.status(), is(HttpResponseStatus.OK));
|
assertThat(res.getStatus(), is(HttpResponseStatus.OK));
|
||||||
|
|
||||||
byte[] data = new byte[64];
|
byte[] data = new byte[64];
|
||||||
for (int i = 0; i < data.length; i++) {
|
for (int i = 0; i < data.length; i++) {
|
||||||
@ -77,8 +77,8 @@ public class HttpResponseDecoderTest {
|
|||||||
Unpooled.copiedBuffer("HTTP/1.1 200 OK\r\nTransfer-Encoding: chunked\r\n\r\n", CharsetUtil.US_ASCII));
|
Unpooled.copiedBuffer("HTTP/1.1 200 OK\r\nTransfer-Encoding: chunked\r\n\r\n", CharsetUtil.US_ASCII));
|
||||||
|
|
||||||
HttpResponse res = (HttpResponse) ch.readInbound();
|
HttpResponse res = (HttpResponse) ch.readInbound();
|
||||||
assertThat(res.protocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
assertThat(res.getProtocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
||||||
assertThat(res.status(), is(HttpResponseStatus.OK));
|
assertThat(res.getStatus(), is(HttpResponseStatus.OK));
|
||||||
|
|
||||||
byte[] data = new byte[64];
|
byte[] data = new byte[64];
|
||||||
for (int i = 0; i < data.length; i++) {
|
for (int i = 0; i < data.length; i++) {
|
||||||
@ -126,8 +126,8 @@ public class HttpResponseDecoderTest {
|
|||||||
|
|
||||||
// Read the response headers.
|
// Read the response headers.
|
||||||
HttpResponse res = (HttpResponse) ch.readInbound();
|
HttpResponse res = (HttpResponse) ch.readInbound();
|
||||||
assertThat(res.protocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
assertThat(res.getProtocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
||||||
assertThat(res.status(), is(HttpResponseStatus.OK));
|
assertThat(res.getStatus(), is(HttpResponseStatus.OK));
|
||||||
assertThat(ch.readInbound(), is(nullValue()));
|
assertThat(ch.readInbound(), is(nullValue()));
|
||||||
|
|
||||||
// Close the connection without sending anything.
|
// Close the connection without sending anything.
|
||||||
@ -151,8 +151,8 @@ public class HttpResponseDecoderTest {
|
|||||||
|
|
||||||
// Read the response headers.
|
// Read the response headers.
|
||||||
HttpResponse res = (HttpResponse) ch.readInbound();
|
HttpResponse res = (HttpResponse) ch.readInbound();
|
||||||
assertThat(res.protocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
assertThat(res.getProtocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
||||||
assertThat(res.status(), is(HttpResponseStatus.OK));
|
assertThat(res.getStatus(), is(HttpResponseStatus.OK));
|
||||||
|
|
||||||
// Read the partial content.
|
// Read the partial content.
|
||||||
HttpContent content = (HttpContent) ch.readInbound();
|
HttpContent content = (HttpContent) ch.readInbound();
|
||||||
@ -182,8 +182,8 @@ public class HttpResponseDecoderTest {
|
|||||||
|
|
||||||
// Read the response headers.
|
// Read the response headers.
|
||||||
HttpResponse res = (HttpResponse) ch.readInbound();
|
HttpResponse res = (HttpResponse) ch.readInbound();
|
||||||
assertThat(res.protocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
assertThat(res.getProtocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
||||||
assertThat(res.status(), is(HttpResponseStatus.OK));
|
assertThat(res.getStatus(), is(HttpResponseStatus.OK));
|
||||||
assertThat(res.headers().get(Names.TRANSFER_ENCODING), is("chunked"));
|
assertThat(res.headers().get(Names.TRANSFER_ENCODING), is("chunked"));
|
||||||
assertThat(ch.readInbound(), is(nullValue()));
|
assertThat(ch.readInbound(), is(nullValue()));
|
||||||
|
|
||||||
@ -203,8 +203,8 @@ public class HttpResponseDecoderTest {
|
|||||||
|
|
||||||
// Read the response headers.
|
// Read the response headers.
|
||||||
HttpResponse res = (HttpResponse) ch.readInbound();
|
HttpResponse res = (HttpResponse) ch.readInbound();
|
||||||
assertThat(res.protocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
assertThat(res.getProtocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
||||||
assertThat(res.status(), is(HttpResponseStatus.OK));
|
assertThat(res.getStatus(), is(HttpResponseStatus.OK));
|
||||||
assertThat(res.headers().get(Names.TRANSFER_ENCODING), is("chunked"));
|
assertThat(res.headers().get(Names.TRANSFER_ENCODING), is("chunked"));
|
||||||
|
|
||||||
// Read the partial content.
|
// Read the partial content.
|
||||||
@ -228,8 +228,8 @@ public class HttpResponseDecoderTest {
|
|||||||
ch.writeInbound(Unpooled.copiedBuffer("HTTP/1.1 200 OK\r\n\r\n", CharsetUtil.US_ASCII));
|
ch.writeInbound(Unpooled.copiedBuffer("HTTP/1.1 200 OK\r\n\r\n", CharsetUtil.US_ASCII));
|
||||||
|
|
||||||
HttpResponse res = (HttpResponse) ch.readInbound();
|
HttpResponse res = (HttpResponse) ch.readInbound();
|
||||||
assertThat(res.protocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
assertThat(res.getProtocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
||||||
assertThat(res.status(), is(HttpResponseStatus.OK));
|
assertThat(res.getStatus(), is(HttpResponseStatus.OK));
|
||||||
assertThat(ch.readInbound(), is(nullValue()));
|
assertThat(ch.readInbound(), is(nullValue()));
|
||||||
|
|
||||||
assertThat(ch.finish(), is(true));
|
assertThat(ch.finish(), is(true));
|
||||||
@ -247,8 +247,8 @@ public class HttpResponseDecoderTest {
|
|||||||
ch.writeInbound(Unpooled.copiedBuffer("HTTP/1.1 200 OK\r\n\r\n", CharsetUtil.US_ASCII));
|
ch.writeInbound(Unpooled.copiedBuffer("HTTP/1.1 200 OK\r\n\r\n", CharsetUtil.US_ASCII));
|
||||||
|
|
||||||
HttpResponse res = (HttpResponse) ch.readInbound();
|
HttpResponse res = (HttpResponse) ch.readInbound();
|
||||||
assertThat(res.protocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
assertThat(res.getProtocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
||||||
assertThat(res.status(), is(HttpResponseStatus.OK));
|
assertThat(res.getStatus(), is(HttpResponseStatus.OK));
|
||||||
assertThat(ch.readInbound(), is(nullValue()));
|
assertThat(ch.readInbound(), is(nullValue()));
|
||||||
|
|
||||||
ch.writeInbound(Unpooled.wrappedBuffer(new byte[1024]));
|
ch.writeInbound(Unpooled.wrappedBuffer(new byte[1024]));
|
||||||
@ -279,8 +279,8 @@ public class HttpResponseDecoderTest {
|
|||||||
CharsetUtil.US_ASCII));
|
CharsetUtil.US_ASCII));
|
||||||
|
|
||||||
HttpResponse res = (HttpResponse) ch.readInbound();
|
HttpResponse res = (HttpResponse) ch.readInbound();
|
||||||
assertThat(res.protocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
assertThat(res.getProtocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
||||||
assertThat(res.status(), is(HttpResponseStatus.OK));
|
assertThat(res.getStatus(), is(HttpResponseStatus.OK));
|
||||||
|
|
||||||
LastHttpContent lastContent = (LastHttpContent) ch.readInbound();
|
LastHttpContent lastContent = (LastHttpContent) ch.readInbound();
|
||||||
assertThat(lastContent.content().isReadable(), is(false));
|
assertThat(lastContent.content().isReadable(), is(false));
|
||||||
@ -329,8 +329,8 @@ public class HttpResponseDecoderTest {
|
|||||||
|
|
||||||
ch.writeInbound(Unpooled.wrappedBuffer(content, headerLength, content.length - headerLength));
|
ch.writeInbound(Unpooled.wrappedBuffer(content, headerLength, content.length - headerLength));
|
||||||
HttpResponse res = (HttpResponse) ch.readInbound();
|
HttpResponse res = (HttpResponse) ch.readInbound();
|
||||||
assertThat(res.protocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
assertThat(res.getProtocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
||||||
assertThat(res.status(), is(HttpResponseStatus.OK));
|
assertThat(res.getStatus(), is(HttpResponseStatus.OK));
|
||||||
|
|
||||||
LastHttpContent lastContent = (LastHttpContent) ch.readInbound();
|
LastHttpContent lastContent = (LastHttpContent) ch.readInbound();
|
||||||
assertThat(lastContent.content().isReadable(), is(false));
|
assertThat(lastContent.content().isReadable(), is(false));
|
||||||
@ -362,8 +362,8 @@ public class HttpResponseDecoderTest {
|
|||||||
ch.writeInbound(Unpooled.wrappedBuffer(data, 5, data.length / 2));
|
ch.writeInbound(Unpooled.wrappedBuffer(data, 5, data.length / 2));
|
||||||
|
|
||||||
HttpResponse res = (HttpResponse) ch.readInbound();
|
HttpResponse res = (HttpResponse) ch.readInbound();
|
||||||
assertThat(res.protocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
assertThat(res.getProtocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
||||||
assertThat(res.status(), is(HttpResponseStatus.OK));
|
assertThat(res.getStatus(), is(HttpResponseStatus.OK));
|
||||||
|
|
||||||
HttpContent firstContent = (HttpContent) ch.readInbound();
|
HttpContent firstContent = (HttpContent) ch.readInbound();
|
||||||
assertThat(firstContent.content().readableBytes(), is(5));
|
assertThat(firstContent.content().readableBytes(), is(5));
|
||||||
@ -410,8 +410,8 @@ public class HttpResponseDecoderTest {
|
|||||||
ch.writeInbound(Unpooled.wrappedBuffer(data, 5, data.length / 2));
|
ch.writeInbound(Unpooled.wrappedBuffer(data, 5, data.length / 2));
|
||||||
|
|
||||||
HttpResponse res = (HttpResponse) ch.readInbound();
|
HttpResponse res = (HttpResponse) ch.readInbound();
|
||||||
assertThat(res.protocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
assertThat(res.getProtocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
||||||
assertThat(res.status(), is(HttpResponseStatus.OK));
|
assertThat(res.getStatus(), is(HttpResponseStatus.OK));
|
||||||
|
|
||||||
HttpContent firstContent = (HttpContent) ch.readInbound();
|
HttpContent firstContent = (HttpContent) ch.readInbound();
|
||||||
assertThat(firstContent.content().readableBytes(), is(5));
|
assertThat(firstContent.content().readableBytes(), is(5));
|
||||||
@ -440,8 +440,8 @@ public class HttpResponseDecoderTest {
|
|||||||
ch.writeInbound(Unpooled.wrappedBuffer(data));
|
ch.writeInbound(Unpooled.wrappedBuffer(data));
|
||||||
|
|
||||||
HttpResponse res = (HttpResponse) ch.readInbound();
|
HttpResponse res = (HttpResponse) ch.readInbound();
|
||||||
assertThat(res.protocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
assertThat(res.getProtocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
||||||
assertThat(res.status(), is(HttpResponseStatus.SWITCHING_PROTOCOLS));
|
assertThat(res.getStatus(), is(HttpResponseStatus.SWITCHING_PROTOCOLS));
|
||||||
HttpContent content = (HttpContent) ch.readInbound();
|
HttpContent content = (HttpContent) ch.readInbound();
|
||||||
assertThat(content.content().readableBytes(), is(16));
|
assertThat(content.content().readableBytes(), is(16));
|
||||||
content.release();
|
content.release();
|
||||||
@ -467,8 +467,8 @@ public class HttpResponseDecoderTest {
|
|||||||
ch.writeInbound(Unpooled.wrappedBuffer(data, otherData));
|
ch.writeInbound(Unpooled.wrappedBuffer(data, otherData));
|
||||||
|
|
||||||
HttpResponse res = (HttpResponse) ch.readInbound();
|
HttpResponse res = (HttpResponse) ch.readInbound();
|
||||||
assertThat(res.protocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
assertThat(res.getProtocolVersion(), sameInstance(HttpVersion.HTTP_1_1));
|
||||||
assertThat(res.status(), is(HttpResponseStatus.SWITCHING_PROTOCOLS));
|
assertThat(res.getStatus(), is(HttpResponseStatus.SWITCHING_PROTOCOLS));
|
||||||
HttpContent content = (HttpContent) ch.readInbound();
|
HttpContent content = (HttpContent) ch.readInbound();
|
||||||
assertThat(content.content().readableBytes(), is(16));
|
assertThat(content.content().readableBytes(), is(16));
|
||||||
content.release();
|
content.release();
|
||||||
@ -495,10 +495,10 @@ public class HttpResponseDecoderTest {
|
|||||||
|
|
||||||
// Garbage input should generate the 999 Unknown response.
|
// Garbage input should generate the 999 Unknown response.
|
||||||
HttpResponse res = (HttpResponse) ch.readInbound();
|
HttpResponse res = (HttpResponse) ch.readInbound();
|
||||||
assertThat(res.protocolVersion(), sameInstance(HttpVersion.HTTP_1_0));
|
assertThat(res.getProtocolVersion(), sameInstance(HttpVersion.HTTP_1_0));
|
||||||
assertThat(res.status().code(), is(999));
|
assertThat(res.getStatus().code(), is(999));
|
||||||
assertThat(res.decoderResult().isFailure(), is(true));
|
assertThat(res.getDecoderResult().isFailure(), is(true));
|
||||||
assertThat(res.decoderResult().isFinished(), is(true));
|
assertThat(res.getDecoderResult().isFinished(), is(true));
|
||||||
assertThat(ch.readInbound(), is(nullValue()));
|
assertThat(ch.readInbound(), is(nullValue()));
|
||||||
|
|
||||||
// More garbage should not generate anything (i.e. the decoder discards anything beyond this point.)
|
// More garbage should not generate anything (i.e. the decoder discards anything beyond this point.)
|
||||||
@ -527,7 +527,7 @@ public class HttpResponseDecoderTest {
|
|||||||
|
|
||||||
// Ensure that the decoder generates the last chunk with correct decoder result.
|
// Ensure that the decoder generates the last chunk with correct decoder result.
|
||||||
LastHttpContent invalidChunk = (LastHttpContent) channel.readInbound();
|
LastHttpContent invalidChunk = (LastHttpContent) channel.readInbound();
|
||||||
assertThat(invalidChunk.decoderResult().isFailure(), is(true));
|
assertThat(invalidChunk.getDecoderResult().isFailure(), is(true));
|
||||||
invalidChunk.release();
|
invalidChunk.release();
|
||||||
|
|
||||||
// And no more messages should be produced by the decoder.
|
// And no more messages should be produced by the decoder.
|
||||||
|
@ -218,14 +218,14 @@ public class CorsHandlerTest {
|
|||||||
public void simpleRequestShortCurcuit() {
|
public void simpleRequestShortCurcuit() {
|
||||||
final CorsConfig config = CorsConfig.withOrigin("http://localhost:8080").shortCurcuit().build();
|
final CorsConfig config = CorsConfig.withOrigin("http://localhost:8080").shortCurcuit().build();
|
||||||
final HttpResponse response = simpleRequest(config, "http://localhost:7777");
|
final HttpResponse response = simpleRequest(config, "http://localhost:7777");
|
||||||
assertThat(response.status(), is(FORBIDDEN));
|
assertThat(response.getStatus(), is(FORBIDDEN));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void simpleRequestNoShortCurcuit() {
|
public void simpleRequestNoShortCurcuit() {
|
||||||
final CorsConfig config = CorsConfig.withOrigin("http://localhost:8080").build();
|
final CorsConfig config = CorsConfig.withOrigin("http://localhost:8080").build();
|
||||||
final HttpResponse response = simpleRequest(config, "http://localhost:7777");
|
final HttpResponse response = simpleRequest(config, "http://localhost:7777");
|
||||||
assertThat(response.status(), is(OK));
|
assertThat(response.getStatus(), is(OK));
|
||||||
assertThat(response.headers().get(ACCESS_CONTROL_ALLOW_ORIGIN), is(nullValue()));
|
assertThat(response.headers().get(ACCESS_CONTROL_ALLOW_ORIGIN), is(nullValue()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -233,7 +233,7 @@ public class CorsHandlerTest {
|
|||||||
public void shortCurcuitNonCorsRequest() {
|
public void shortCurcuitNonCorsRequest() {
|
||||||
final CorsConfig config = CorsConfig.withOrigin("https://localhost").shortCurcuit().build();
|
final CorsConfig config = CorsConfig.withOrigin("https://localhost").shortCurcuit().build();
|
||||||
final HttpResponse response = simpleRequest(config, null);
|
final HttpResponse response = simpleRequest(config, null);
|
||||||
assertThat(response.status(), is(OK));
|
assertThat(response.getStatus(), is(OK));
|
||||||
assertThat(response.headers().get(ACCESS_CONTROL_ALLOW_ORIGIN), is(nullValue()));
|
assertThat(response.headers().get(ACCESS_CONTROL_ALLOW_ORIGIN), is(nullValue()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -269,7 +269,7 @@ public class CorsHandlerTest {
|
|||||||
final EmbeddedChannel channel = new EmbeddedChannel(new CorsHandler(config));
|
final EmbeddedChannel channel = new EmbeddedChannel(new CorsHandler(config));
|
||||||
final FullHttpRequest httpRequest = createHttpRequest(OPTIONS);
|
final FullHttpRequest httpRequest = createHttpRequest(OPTIONS);
|
||||||
httpRequest.headers().set(ORIGIN, origin);
|
httpRequest.headers().set(ORIGIN, origin);
|
||||||
httpRequest.headers().set(ACCESS_CONTROL_REQUEST_METHOD, httpRequest.method().toString());
|
httpRequest.headers().set(ACCESS_CONTROL_REQUEST_METHOD, httpRequest.getMethod().toString());
|
||||||
httpRequest.headers().set(ACCESS_CONTROL_REQUEST_HEADERS, requestHeaders);
|
httpRequest.headers().set(ACCESS_CONTROL_REQUEST_HEADERS, requestHeaders);
|
||||||
channel.writeInbound(httpRequest);
|
channel.writeInbound(httpRequest);
|
||||||
return (HttpResponse) channel.readOutbound();
|
return (HttpResponse) channel.readOutbound();
|
||||||
|
@ -54,7 +54,7 @@ public class WebSocketServerProtocolHandlerTest {
|
|||||||
EmbeddedChannel ch = createChannel(new MockOutboundHandler());
|
EmbeddedChannel ch = createChannel(new MockOutboundHandler());
|
||||||
ChannelHandlerContext handshakerCtx = ch.pipeline().context(WebSocketServerProtocolHandshakeHandler.class);
|
ChannelHandlerContext handshakerCtx = ch.pipeline().context(WebSocketServerProtocolHandshakeHandler.class);
|
||||||
writeUpgradeRequest(ch);
|
writeUpgradeRequest(ch);
|
||||||
assertEquals(SWITCHING_PROTOCOLS, ReferenceCountUtil.releaseLater(responses.remove()).status());
|
assertEquals(SWITCHING_PROTOCOLS, ReferenceCountUtil.releaseLater(responses.remove()).getStatus());
|
||||||
assertNotNull(WebSocketServerProtocolHandler.getHandshaker(handshakerCtx));
|
assertNotNull(WebSocketServerProtocolHandler.getHandshaker(handshakerCtx));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,10 +63,10 @@ public class WebSocketServerProtocolHandlerTest {
|
|||||||
EmbeddedChannel ch = createChannel();
|
EmbeddedChannel ch = createChannel();
|
||||||
|
|
||||||
writeUpgradeRequest(ch);
|
writeUpgradeRequest(ch);
|
||||||
assertEquals(SWITCHING_PROTOCOLS, ReferenceCountUtil.releaseLater(responses.remove()).status());
|
assertEquals(SWITCHING_PROTOCOLS, ReferenceCountUtil.releaseLater(responses.remove()).getStatus());
|
||||||
|
|
||||||
ch.writeInbound(new DefaultFullHttpRequest(HTTP_1_1, HttpMethod.GET, "/test"));
|
ch.writeInbound(new DefaultFullHttpRequest(HTTP_1_1, HttpMethod.GET, "/test"));
|
||||||
assertEquals(FORBIDDEN, ReferenceCountUtil.releaseLater(responses.remove()).status());
|
assertEquals(FORBIDDEN, ReferenceCountUtil.releaseLater(responses.remove()).getStatus());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -83,7 +83,7 @@ public class WebSocketServerProtocolHandlerTest {
|
|||||||
ch.writeInbound(httpRequestWithEntity);
|
ch.writeInbound(httpRequestWithEntity);
|
||||||
|
|
||||||
FullHttpResponse response = ReferenceCountUtil.releaseLater(responses.remove());
|
FullHttpResponse response = ReferenceCountUtil.releaseLater(responses.remove());
|
||||||
assertEquals(BAD_REQUEST, response.status());
|
assertEquals(BAD_REQUEST, response.getStatus());
|
||||||
assertEquals("not a WebSocket handshake request: missing upgrade", getResponseMessage(response));
|
assertEquals("not a WebSocket handshake request: missing upgrade", getResponseMessage(response));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -102,7 +102,7 @@ public class WebSocketServerProtocolHandlerTest {
|
|||||||
ch.writeInbound(httpRequest);
|
ch.writeInbound(httpRequest);
|
||||||
|
|
||||||
FullHttpResponse response = ReferenceCountUtil.releaseLater(responses.remove());
|
FullHttpResponse response = ReferenceCountUtil.releaseLater(responses.remove());
|
||||||
assertEquals(BAD_REQUEST, response.status());
|
assertEquals(BAD_REQUEST, response.getStatus());
|
||||||
assertEquals("not a WebSocket request: missing key", getResponseMessage(response));
|
assertEquals("not a WebSocket request: missing key", getResponseMessage(response));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -117,12 +117,12 @@ public class HttpStaticFileServerHandler extends SimpleChannelInboundHandler<Ful
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (request.method() != GET) {
|
if (request.getMethod() != GET) {
|
||||||
sendError(ctx, METHOD_NOT_ALLOWED);
|
sendError(ctx, METHOD_NOT_ALLOWED);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final String uri = request.uri();
|
final String uri = request.getUri();
|
||||||
final String path = sanitizeUri(uri);
|
final String path = sanitizeUri(uri);
|
||||||
if (path == null) {
|
if (path == null) {
|
||||||
sendError(ctx, FORBIDDEN);
|
sendError(ctx, FORBIDDEN);
|
||||||
|
@ -31,8 +31,8 @@ public class HttpSnoopClientHandler extends SimpleChannelInboundHandler<HttpObje
|
|||||||
if (msg instanceof HttpResponse) {
|
if (msg instanceof HttpResponse) {
|
||||||
HttpResponse response = (HttpResponse) msg;
|
HttpResponse response = (HttpResponse) msg;
|
||||||
|
|
||||||
System.err.println("STATUS: " + response.status());
|
System.err.println("STATUS: " + response.getStatus());
|
||||||
System.err.println("VERSION: " + response.protocolVersion());
|
System.err.println("VERSION: " + response.getProtocolVersion());
|
||||||
System.err.println();
|
System.err.println();
|
||||||
|
|
||||||
if (!response.headers().isEmpty()) {
|
if (!response.headers().isEmpty()) {
|
||||||
|
@ -68,9 +68,9 @@ public class HttpSnoopServerHandler extends SimpleChannelInboundHandler<Object>
|
|||||||
buf.append("WELCOME TO THE WILD WILD WEB SERVER\r\n");
|
buf.append("WELCOME TO THE WILD WILD WEB SERVER\r\n");
|
||||||
buf.append("===================================\r\n");
|
buf.append("===================================\r\n");
|
||||||
|
|
||||||
buf.append("VERSION: ").append(request.protocolVersion()).append("\r\n");
|
buf.append("VERSION: ").append(request.getProtocolVersion()).append("\r\n");
|
||||||
buf.append("HOSTNAME: ").append(getHost(request, "unknown")).append("\r\n");
|
buf.append("HOSTNAME: ").append(getHost(request, "unknown")).append("\r\n");
|
||||||
buf.append("REQUEST_URI: ").append(request.uri()).append("\r\n\r\n");
|
buf.append("REQUEST_URI: ").append(request.getUri()).append("\r\n\r\n");
|
||||||
|
|
||||||
HttpHeaders headers = request.headers();
|
HttpHeaders headers = request.headers();
|
||||||
if (!headers.isEmpty()) {
|
if (!headers.isEmpty()) {
|
||||||
@ -82,7 +82,7 @@ public class HttpSnoopServerHandler extends SimpleChannelInboundHandler<Object>
|
|||||||
buf.append("\r\n");
|
buf.append("\r\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryStringDecoder queryStringDecoder = new QueryStringDecoder(request.uri());
|
QueryStringDecoder queryStringDecoder = new QueryStringDecoder(request.getUri());
|
||||||
Map<String, List<String>> params = queryStringDecoder.parameters();
|
Map<String, List<String>> params = queryStringDecoder.parameters();
|
||||||
if (!params.isEmpty()) {
|
if (!params.isEmpty()) {
|
||||||
for (Entry<String, List<String>> p: params.entrySet()) {
|
for (Entry<String, List<String>> p: params.entrySet()) {
|
||||||
|
@ -36,8 +36,8 @@ public class HttpUploadClientHandler extends SimpleChannelInboundHandler<HttpObj
|
|||||||
if (msg instanceof HttpResponse) {
|
if (msg instanceof HttpResponse) {
|
||||||
HttpResponse response = (HttpResponse) msg;
|
HttpResponse response = (HttpResponse) msg;
|
||||||
|
|
||||||
System.err.println("STATUS: " + response.status());
|
System.err.println("STATUS: " + response.getStatus());
|
||||||
System.err.println("VERSION: " + response.protocolVersion());
|
System.err.println("VERSION: " + response.getProtocolVersion());
|
||||||
|
|
||||||
if (!response.headers().isEmpty()) {
|
if (!response.headers().isEmpty()) {
|
||||||
for (String name : response.headers().names()) {
|
for (String name : response.headers().names()) {
|
||||||
@ -47,7 +47,7 @@ public class HttpUploadClientHandler extends SimpleChannelInboundHandler<HttpObj
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (response.status().code() == 200 && HttpHeaders.isTransferEncodingChunked(response)) {
|
if (response.getStatus().code() == 200 && HttpHeaders.isTransferEncodingChunked(response)) {
|
||||||
readingChunks = true;
|
readingChunks = true;
|
||||||
System.err.println("CHUNKED CONTENT {");
|
System.err.println("CHUNKED CONTENT {");
|
||||||
} else {
|
} else {
|
||||||
|
@ -97,7 +97,7 @@ public class HttpUploadServerHandler extends SimpleChannelInboundHandler<HttpObj
|
|||||||
public void channelRead0(ChannelHandlerContext ctx, HttpObject msg) throws Exception {
|
public void channelRead0(ChannelHandlerContext ctx, HttpObject msg) throws Exception {
|
||||||
if (msg instanceof HttpRequest) {
|
if (msg instanceof HttpRequest) {
|
||||||
HttpRequest request = this.request = (HttpRequest) msg;
|
HttpRequest request = this.request = (HttpRequest) msg;
|
||||||
URI uri = new URI(request.uri());
|
URI uri = new URI(request.getUri());
|
||||||
if (!uri.getPath().startsWith("/form")) {
|
if (!uri.getPath().startsWith("/form")) {
|
||||||
// Write Menu
|
// Write Menu
|
||||||
writeMenu(ctx);
|
writeMenu(ctx);
|
||||||
@ -107,9 +107,9 @@ public class HttpUploadServerHandler extends SimpleChannelInboundHandler<HttpObj
|
|||||||
responseContent.append("WELCOME TO THE WILD WILD WEB SERVER\r\n");
|
responseContent.append("WELCOME TO THE WILD WILD WEB SERVER\r\n");
|
||||||
responseContent.append("===================================\r\n");
|
responseContent.append("===================================\r\n");
|
||||||
|
|
||||||
responseContent.append("VERSION: " + request.protocolVersion().text() + "\r\n");
|
responseContent.append("VERSION: " + request.getProtocolVersion().text() + "\r\n");
|
||||||
|
|
||||||
responseContent.append("REQUEST_URI: " + request.uri() + "\r\n\r\n");
|
responseContent.append("REQUEST_URI: " + request.getUri() + "\r\n\r\n");
|
||||||
responseContent.append("\r\n\r\n");
|
responseContent.append("\r\n\r\n");
|
||||||
|
|
||||||
// new getMethod
|
// new getMethod
|
||||||
@ -131,7 +131,7 @@ public class HttpUploadServerHandler extends SimpleChannelInboundHandler<HttpObj
|
|||||||
}
|
}
|
||||||
responseContent.append("\r\n\r\n");
|
responseContent.append("\r\n\r\n");
|
||||||
|
|
||||||
QueryStringDecoder decoderQuery = new QueryStringDecoder(request.uri());
|
QueryStringDecoder decoderQuery = new QueryStringDecoder(request.getUri());
|
||||||
Map<String, List<String>> uriAttributes = decoderQuery.parameters();
|
Map<String, List<String>> uriAttributes = decoderQuery.parameters();
|
||||||
for (Entry<String, List<String>> attr: uriAttributes.entrySet()) {
|
for (Entry<String, List<String>> attr: uriAttributes.entrySet()) {
|
||||||
for (String attrVal: attr.getValue()) {
|
for (String attrVal: attr.getValue()) {
|
||||||
@ -140,7 +140,7 @@ public class HttpUploadServerHandler extends SimpleChannelInboundHandler<HttpObj
|
|||||||
}
|
}
|
||||||
responseContent.append("\r\n\r\n");
|
responseContent.append("\r\n\r\n");
|
||||||
|
|
||||||
if (request.method().equals(HttpMethod.GET)) {
|
if (request.getMethod().equals(HttpMethod.GET)) {
|
||||||
// GET Method: should not try to create a HttpPostRequestDecoder
|
// GET Method: should not try to create a HttpPostRequestDecoder
|
||||||
// So stop here
|
// So stop here
|
||||||
responseContent.append("\r\n\r\nEND OF GET CONTENT\r\n");
|
responseContent.append("\r\n\r\nEND OF GET CONTENT\r\n");
|
||||||
@ -293,7 +293,7 @@ public class HttpUploadServerHandler extends SimpleChannelInboundHandler<HttpObj
|
|||||||
|
|
||||||
// Decide whether to close the connection or not.
|
// Decide whether to close the connection or not.
|
||||||
boolean close = HttpHeaders.Values.CLOSE.equalsIgnoreCase(request.headers().get(CONNECTION))
|
boolean close = HttpHeaders.Values.CLOSE.equalsIgnoreCase(request.headers().get(CONNECTION))
|
||||||
|| request.protocolVersion().equals(HttpVersion.HTTP_1_0)
|
|| request.getProtocolVersion().equals(HttpVersion.HTTP_1_0)
|
||||||
&& !HttpHeaders.Values.KEEP_ALIVE.equalsIgnoreCase(request.headers().get(CONNECTION));
|
&& !HttpHeaders.Values.KEEP_ALIVE.equalsIgnoreCase(request.headers().get(CONNECTION));
|
||||||
|
|
||||||
// Build the response object.
|
// Build the response object.
|
||||||
|
@ -91,7 +91,7 @@ public class WebSocketClientHandler extends SimpleChannelInboundHandler<Object>
|
|||||||
if (msg instanceof FullHttpResponse) {
|
if (msg instanceof FullHttpResponse) {
|
||||||
FullHttpResponse response = (FullHttpResponse) msg;
|
FullHttpResponse response = (FullHttpResponse) msg;
|
||||||
throw new IllegalStateException(
|
throw new IllegalStateException(
|
||||||
"Unexpected FullHttpResponse (getStatus=" + response.status() +
|
"Unexpected FullHttpResponse (getStatus=" + response.getStatus() +
|
||||||
", content=" + response.content().toString(CharsetUtil.UTF_8) + ')');
|
", content=" + response.content().toString(CharsetUtil.UTF_8) + ')');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,13 +70,13 @@ public class WebSocketServerHandler extends SimpleChannelInboundHandler<Object>
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Allow only GET methods.
|
// Allow only GET methods.
|
||||||
if (req.method() != GET) {
|
if (req.getMethod() != GET) {
|
||||||
sendHttpResponse(ctx, req, new DefaultFullHttpResponse(HTTP_1_1, FORBIDDEN));
|
sendHttpResponse(ctx, req, new DefaultFullHttpResponse(HTTP_1_1, FORBIDDEN));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Send the demo page and favicon.ico
|
// Send the demo page and favicon.ico
|
||||||
if ("/".equals(req.uri())) {
|
if ("/".equals(req.getUri())) {
|
||||||
ByteBuf content = WebSocketServerIndexPage.getContent(getWebSocketLocation(req));
|
ByteBuf content = WebSocketServerIndexPage.getContent(getWebSocketLocation(req));
|
||||||
FullHttpResponse res = new DefaultFullHttpResponse(HTTP_1_1, OK, content);
|
FullHttpResponse res = new DefaultFullHttpResponse(HTTP_1_1, OK, content);
|
||||||
|
|
||||||
@ -86,7 +86,7 @@ public class WebSocketServerHandler extends SimpleChannelInboundHandler<Object>
|
|||||||
sendHttpResponse(ctx, req, res);
|
sendHttpResponse(ctx, req, res);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ("/favicon.ico".equals(req.uri())) {
|
if ("/favicon.ico".equals(req.getUri())) {
|
||||||
FullHttpResponse res = new DefaultFullHttpResponse(HTTP_1_1, NOT_FOUND);
|
FullHttpResponse res = new DefaultFullHttpResponse(HTTP_1_1, NOT_FOUND);
|
||||||
sendHttpResponse(ctx, req, res);
|
sendHttpResponse(ctx, req, res);
|
||||||
return;
|
return;
|
||||||
@ -128,8 +128,8 @@ public class WebSocketServerHandler extends SimpleChannelInboundHandler<Object>
|
|||||||
private static void sendHttpResponse(
|
private static void sendHttpResponse(
|
||||||
ChannelHandlerContext ctx, FullHttpRequest req, FullHttpResponse res) {
|
ChannelHandlerContext ctx, FullHttpRequest req, FullHttpResponse res) {
|
||||||
// Generate an error page if response getStatus code is not OK (200).
|
// Generate an error page if response getStatus code is not OK (200).
|
||||||
if (res.status().code() != 200) {
|
if (res.getStatus().code() != 200) {
|
||||||
ByteBuf buf = Unpooled.copiedBuffer(res.status().toString(), CharsetUtil.UTF_8);
|
ByteBuf buf = Unpooled.copiedBuffer(res.getStatus().toString(), CharsetUtil.UTF_8);
|
||||||
res.content().writeBytes(buf);
|
res.content().writeBytes(buf);
|
||||||
buf.release();
|
buf.release();
|
||||||
setContentLength(res, res.content().readableBytes());
|
setContentLength(res, res.content().readableBytes());
|
||||||
@ -137,7 +137,7 @@ public class WebSocketServerHandler extends SimpleChannelInboundHandler<Object>
|
|||||||
|
|
||||||
// Send the response and close the connection if necessary.
|
// Send the response and close the connection if necessary.
|
||||||
ChannelFuture f = ctx.channel().writeAndFlush(res);
|
ChannelFuture f = ctx.channel().writeAndFlush(res);
|
||||||
if (!isKeepAlive(req) || res.status().code() != 200) {
|
if (!isKeepAlive(req) || res.getStatus().code() != 200) {
|
||||||
f.addListener(ChannelFutureListener.CLOSE);
|
f.addListener(ChannelFutureListener.CLOSE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -42,8 +42,8 @@ public class HttpResponseClientHandler extends SimpleChannelInboundHandler<HttpO
|
|||||||
if (msg instanceof HttpResponse) {
|
if (msg instanceof HttpResponse) {
|
||||||
HttpResponse response = (HttpResponse) msg;
|
HttpResponse response = (HttpResponse) msg;
|
||||||
|
|
||||||
System.out.println("STATUS: " + response.status());
|
System.out.println("STATUS: " + response.getStatus());
|
||||||
System.out.println("VERSION: " + response.protocolVersion());
|
System.out.println("VERSION: " + response.getProtocolVersion());
|
||||||
System.out.println();
|
System.out.println();
|
||||||
|
|
||||||
if (!response.headers().isEmpty()) {
|
if (!response.headers().isEmpty()) {
|
||||||
|
@ -80,7 +80,7 @@ public class AutobahnServerHandler extends ChannelInboundHandlerAdapter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Allow only GET methods.
|
// Allow only GET methods.
|
||||||
if (req.method() != GET) {
|
if (req.getMethod() != GET) {
|
||||||
sendHttpResponse(ctx, req, new DefaultFullHttpResponse(HTTP_1_1, FORBIDDEN));
|
sendHttpResponse(ctx, req, new DefaultFullHttpResponse(HTTP_1_1, FORBIDDEN));
|
||||||
req.release();
|
req.release();
|
||||||
return;
|
return;
|
||||||
@ -126,8 +126,8 @@ public class AutobahnServerHandler extends ChannelInboundHandlerAdapter {
|
|||||||
private static void sendHttpResponse(
|
private static void sendHttpResponse(
|
||||||
ChannelHandlerContext ctx, FullHttpRequest req, FullHttpResponse res) {
|
ChannelHandlerContext ctx, FullHttpRequest req, FullHttpResponse res) {
|
||||||
// Generate an error page if response status code is not OK (200).
|
// Generate an error page if response status code is not OK (200).
|
||||||
if (res.status().code() != 200) {
|
if (res.getStatus().code() != 200) {
|
||||||
ByteBuf buf = Unpooled.copiedBuffer(res.status().toString(), CharsetUtil.UTF_8);
|
ByteBuf buf = Unpooled.copiedBuffer(res.getStatus().toString(), CharsetUtil.UTF_8);
|
||||||
res.content().writeBytes(buf);
|
res.content().writeBytes(buf);
|
||||||
buf.release();
|
buf.release();
|
||||||
setContentLength(res, res.content().readableBytes());
|
setContentLength(res, res.content().readableBytes());
|
||||||
@ -135,7 +135,7 @@ public class AutobahnServerHandler extends ChannelInboundHandlerAdapter {
|
|||||||
|
|
||||||
// Send the response and close the connection if necessary.
|
// Send the response and close the connection if necessary.
|
||||||
ChannelFuture f = ctx.channel().writeAndFlush(res);
|
ChannelFuture f = ctx.channel().writeAndFlush(res);
|
||||||
if (!isKeepAlive(req) || res.status().code() != 200) {
|
if (!isKeepAlive(req) || res.getStatus().code() != 200) {
|
||||||
f.addListener(ChannelFutureListener.CLOSE);
|
f.addListener(ChannelFutureListener.CLOSE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user