|
4 | 4 | /**
|
5 | 5 | * Value object representing the request target, and typically a URI.
|
6 | 6 | *
|
7 |
| - * Instances of this interface are considered immutable; all methods that |
| 7 | + * Instances of this interface are considered immutable; all methods that |
8 | 8 | * might change state MUST be implemented such that they retain the internal
|
9 | 9 | * state of the current instance and return a new instance that contains the
|
10 | 10 | * changed state.
|
11 | 11 | *
|
12 | 12 | * Since this interface represents a request target per RFC 7230, the instance
|
13 |
| - * can potentially omit the scheme and authority. As such, test methods exist |
14 |
| - * for determining what request target form is in use: |
| 13 | + * MAY represent an absolute URI OR one of the request targets that are not |
| 14 | + * fully qualified URIs, including origin-form, authority-form, or |
| 15 | + * asterisk-form. As such, test methods exist for determining what request |
| 16 | + * target form is in use: |
15 | 17 | *
|
16 |
| - * - isOrigin() tests if the target is in origin-form (path + optional query |
17 |
| - * string only). |
18 | 18 | * - isAbsolute() tests if the target is in absolute-form (minimally scheme +
|
19 | 19 | * authority).
|
| 20 | + * - isOrigin() tests if the target is in origin-form (path + optional query |
| 21 | + * string only). |
20 | 22 | * - isAuthority() tests if the target contains the authority only.
|
21 | 23 | * - isAsterisk() tests if the entirety of the target is '*'.
|
22 | 24 | *
|
23 | 25 | * These target forms are included, as they are valid forms for use with an
|
24 | 26 | * HTTP request, and will appear without other URI segments available within
|
25 |
| - * the request line. This interface models the target as it appears. |
| 27 | + * the request line. This interface models the target as it appears in the |
| 28 | + * incoming request line or as it will be emitted by a client. |
26 | 29 | *
|
27 | 30 | * Typically, for all forms other than absolute-form, minimally the Host header
|
28 | 31 | * will be also be present in the request message. For server-side requests,
|
|
31 | 34 | * @link http://tools.ietf.org/html/rfc3986 (the URI specification)
|
32 | 35 | * @link http://tools.ietf.org/html/rfc7230#section-2.7 (URIs as used in the HTTP specification)
|
33 | 36 | */
|
34 |
| -interface UriInterface |
| 37 | +interface UriTargetInterface |
35 | 38 | {
|
36 | 39 | /**
|
37 | 40 | * Retrieve the URI scheme.
|
|
0 commit comments