/** * Copyright 2007-2015, Kaazing Corporation. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.kaazing.k3po.driver.internal.netty.bootstrap.http; import org.jboss.netty.channel.DefaultChannelConfig; import org.jboss.netty.handler.codec.http.DefaultHttpHeaders; import org.jboss.netty.handler.codec.http.HttpHeaders; import org.jboss.netty.handler.codec.http.HttpMethod; import org.jboss.netty.handler.codec.http.HttpResponseStatus; import org.jboss.netty.handler.codec.http.HttpVersion; import org.jboss.netty.handler.codec.http.QueryStringDecoder; import org.kaazing.k3po.driver.internal.behavior.handler.codec.http.QueryStringEncoder; public class DefaultHttpChannelConfig extends DefaultChannelConfig implements HttpChannelConfig { private HttpVersion version; private HttpMethod method; private HttpRequestForm requestForm; private HttpResponseStatus status; private HttpHeaders readHeaders; private HttpHeaders writeHeaders; private int maximumBufferedContentLength; private QueryStringDecoder readQuery; private QueryStringEncoder writeQuery; private HttpHeaders writeTrailers; @Override public void setMethod(HttpMethod method) { this.method = method; } @Override public HttpMethod getMethod() { return method; } @Override public void setVersion(HttpVersion version) { this.version = version; } @Override public HttpVersion getVersion() { return version; } @Override public void setRequestForm(HttpRequestForm requestForm) { this.requestForm = requestForm; } @Override public HttpRequestForm getRequestForm() { return requestForm; } @Override public void setStatus(HttpResponseStatus status) { this.status = status; } @Override public HttpResponseStatus getStatus() { return status; } @Override public boolean hasReadHeaders() { return readHeaders != null; } @Override public HttpHeaders getReadHeaders() { if (readHeaders == null) { readHeaders = new DefaultHttpHeaders(); } return readHeaders; } @Override public boolean hasWriteHeaders() { return writeHeaders != null; } @Override public HttpHeaders getWriteHeaders() { if (writeHeaders == null) { writeHeaders = new DefaultHttpHeaders(); } return writeHeaders; } @Override public void setMaximumBufferedContentLength(int maxValue) { maximumBufferedContentLength = maxValue; } @Override public int getMaximumBufferedContentLength() { return maximumBufferedContentLength; } @Override public void setReadQuery(QueryStringDecoder readQuery) { this.readQuery = readQuery; } @Override public QueryStringDecoder getReadQuery() { return readQuery; } @Override public void setWriteQuery(QueryStringEncoder writeQuery) { this.writeQuery = writeQuery; } @Override public QueryStringEncoder getWriteQuery() { return writeQuery; } @Override public HttpHeaders getWriteTrailers() { if (writeTrailers == null) { writeTrailers = new DefaultHttpHeaders(); } return writeTrailers; } @Override public HttpHeaders getReadTrailers() { if (readHeaders == null) { readHeaders = new DefaultHttpHeaders(); } return readHeaders; } }