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