View Javadoc

1   /*******************************************************************************
2    * Copyright (c) 2011 Michael Mimo Moratti.
3    *
4    * Michael Mimo Moratti licenses this file to you under the Apache License, version 2.0
5    * (the "License"); you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at:
7    *     http://www.apache.org/licenses/LICENSE-2.0
8    * Unless required by applicable law or agreed to in writing, software
9    * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
10   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
11   * License for the specific language governing permissions and limitations
12   * under the License.
13   *******************************************************************************/
14  package ch.mimo.netty.handler.codec.icap;
15  
16  
17  /**
18   * Main Icap Request implementation. This is the starting point to create a Icap request.
19   * 
20   * @author Michael Mimo Moratti (mimo@mimo.ch)
21   *
22   */
23  public class DefaultIcapRequest extends AbstractIcapMessage implements IcapRequest {
24  	
25  	private IcapMethod method;
26  	private String uri;
27  	
28  	/**
29  	 * This will create an initial icap request with all necessary details.
30  	 * 
31  	 * @param icapVersion the version of this request.
32  	 * @param method the method.
33  	 * @param uri the uri to reach with this request.
34  	 * @param host the host from where this request originates from. Because this is a mandatory Icap header
35  	 * you have to give a value and it will be directly added to the icap request as Host: header.
36  	 */
37  	public DefaultIcapRequest(IcapVersion icapVersion, IcapMethod method, String uri, String host) {
38  		super(icapVersion);
39  		this.method = method;
40  		this.uri = uri;
41  		addHeader(IcapHeaders.Names.HOST,host);
42  	}
43  	
44  	public IcapMessage setMethod(IcapMethod method) {
45  		this.method = method;
46  		return this;
47  	}
48  
49  	public IcapMethod getMethod() {
50  		return method;
51  	}
52  
53  	public IcapMessage setUri(String uri) {
54  		this.uri = uri;
55  		return this;
56  	}
57  
58  	public String getUri() {
59  		return uri;
60  	}
61  }