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   * An HTTP request.
20   *
21   * <h3>Accessing Query Parameters and Cookie</h3>
22   * <p>
23   * Unlike the Servlet API, a query string is constructed and decomposed by
24   * {@link QueryStringEncoder} and {@link QueryStringDecoder}.
25   *
26   * {@link io.netty.handler.codec.http.cookie.Cookie} support is also provided
27   * separately via {@link io.netty.handler.codec.http.cookie.ServerCookieDecoder},
28   * {@link io.netty.handler.codec.http.cookie.ClientCookieDecoder},
29   * {@link io.netty.handler.codec.http.cookie.ServerCookieEncoder},
30   * and {@link @io.netty.handler.codec.http.cookie.ClientCookieEncoder}.
31   *
32   * @see HttpResponse
33   * @see io.netty.handler.codec.http.cookie.ServerCookieDecoder
34   * @see io.netty.handler.codec.http.cookie.ClientCookieDecoder
35   * @see io.netty.handler.codec.http.cookie.ServerCookieEncoder
36   * @see io.netty.handler.codec.http.cookie.ClientCookieEncoder
37   */
38  public interface HttpRequest extends HttpMessage {
39  
40      /**
41       * Returns the {@link HttpMethod} of this {@link HttpRequest}.
42       *
43       * @return The {@link HttpMethod} of this {@link HttpRequest}
44       */
45      HttpMethod getMethod();
46  
47      /**
48       * Set the {@link HttpMethod} of this {@link HttpRequest}.
49       */
50      HttpRequest setMethod(HttpMethod method);
51  
52      /**
53       * Returns the requested URI (or alternatively, path)
54       *
55       * @return The URI being requested
56       */
57      String getUri();
58  
59      /**
60       *  Set the requested URI (or alternatively, path)
61       */
62      HttpRequest setUri(String uri);
63  
64      @Override
65      HttpRequest setProtocolVersion(HttpVersion version);
66  }