View Javadoc
1   /*
2    * Copyright 2012 The Netty Project
3    *
4    * The Netty Project licenses this file to you under the Apache License,
5    * version 2.0 (the "License"); you may not use this file except in compliance
6    * with the License. You may obtain a copy of the License at:
7    *
8    *   http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13   * License for the specific language governing permissions and limitations
14   * under the License.
15   */
16  package io.netty.handler.codec.http;
17  
18  /**
19   * The default {@link HttpRequest} implementation.
20   */
21  public class DefaultHttpRequest extends DefaultHttpMessage implements HttpRequest {
22  
23      private HttpMethod method;
24      private String uri;
25  
26      /**
27       * Creates a new instance.
28       *
29       * @param httpVersion the HTTP version of the request
30       * @param method      the HTTP getMethod of the request
31       * @param uri         the URI or path of the request
32       */
33      public DefaultHttpRequest(HttpVersion httpVersion, HttpMethod method, String uri) {
34          this(httpVersion, method, uri, true);
35      }
36  
37      /**
38       * Creates a new instance.
39       *
40       * @param httpVersion       the HTTP version of the request
41       * @param method            the HTTP getMethod of the request
42       * @param uri               the URI or path of the request
43       * @param validateHeaders   validate the headers when adding them
44       */
45      public DefaultHttpRequest(HttpVersion httpVersion, HttpMethod method, String uri, boolean validateHeaders) {
46          super(httpVersion, validateHeaders);
47          if (method == null) {
48              throw new NullPointerException("method");
49          }
50          if (uri == null) {
51              throw new NullPointerException("uri");
52          }
53          this.method = method;
54          this.uri = uri;
55      }
56  
57      @Override
58      public HttpMethod getMethod() {
59          return method;
60      }
61  
62      @Override
63      public String getUri() {
64          return uri;
65      }
66  
67      @Override
68      public HttpRequest setMethod(HttpMethod method) {
69          if (method == null) {
70              throw new NullPointerException("method");
71          }
72          this.method = method;
73          return this;
74      }
75  
76      @Override
77      public HttpRequest setUri(String uri) {
78          if (uri == null) {
79              throw new NullPointerException("uri");
80          }
81          this.uri = uri;
82          return this;
83      }
84  
85      @Override
86      public HttpRequest setProtocolVersion(HttpVersion version) {
87          super.setProtocolVersion(version);
88          return this;
89      }
90  
91      @Override
92      public String toString() {
93          return HttpMessageUtil.appendRequest(new StringBuilder(256), this).toString();
94      }
95  }