You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by Gary Gregory <ga...@gmail.com> on 2019/02/16 14:09:12 UTC

Re: [httpcomponents-client] branch 4.5.x updated: HTTPCLIENT-1968: Make normalization of URI paths optional

On these below, the @since are off.

Gary

On Sat, Feb 16, 2019 at 5:55 AM <ol...@apache.org> wrote:

> This is an automated email from the ASF dual-hosted git repository.
>
> olegk pushed a commit to branch 4.5.x
> in repository
> https://gitbox.apache.org/repos/asf/httpcomponents-client.git
>
>
> The following commit(s) were added to refs/heads/4.5.x by this push:
>      new 4093a30  HTTPCLIENT-1968: Make normalization of URI paths optional
>      new ae9ea60  Merge pull request #136 from cstamas/HTTPCLIENT-1968
> 4093a30 is described below
>
> commit 4093a3015d6b789888077e317e535df4c8102e5d
> Author: Tamas Cservenak <ta...@cservenak.net>
> AuthorDate: Sat Feb 16 11:50:11 2019 +0100
>
> +    /**
> +     * Flags that control how URI is being rewritten.
> +     *
> +     * @since 5.7.8
> +     */
> +    public enum UriFlag {
> +        DROP_FRAGMENT,
> +        NORMALIZE
> +    }
> +
> +    /**
> +     * Empty set of uri flags.
> +     *
> +     * @since 5.7.8
> +     */
> +    public static final EnumSet<UriFlag> NO_FLAGS =
> EnumSet.noneOf(UriFlag.class);
> +
> +    /**
> +     * Set of uri flags containing {@link UriFlag#DROP_FRAGMENT}.
> +     *
> +     * @since 5.7.8
> +     */
> +    public static final EnumSet<UriFlag> DROP_FRAGMENT =
> EnumSet.of(UriFlag.DROP_FRAGMENT);
> +
> +    /**
> +     * Set of uri flags containing {@link UriFlag#NORMALIZE}.
> +     *
> +     * @since 5.7.8
> +     */
> +    public static final EnumSet<UriFlag> NORMALIZE =
> EnumSet.of(UriFlag.NORMALIZE);
> +
> +    /**
> +     * Set of uri flags containing {@link UriFlag#DROP_FRAGMENT} and
> {@link UriFlag#NORMALIZE}.
> +     *
> +     * @since 5.7.8
> +     */
> +    public static final EnumSet<UriFlag> DROP_FRAGMENT_AND_NORMALIZE =
> EnumSet.of(UriFlag.DROP_FRAGMENT, UriFlag.NORMALIZE);
> +
>       /**
>           * Constructs a {@link URI} using all the parameters. This should
> be
>           * used instead of
> @@ -125,12 +164,40 @@ public class URIUtils {
>       *
>       * @throws URISyntaxException
>       *             If the resulting URI is invalid.
> +     * @deprecated (5.7.8) Use {@link #rewriteURI(URI, HttpHost, EnumSet)}
> +     */
> +    @Deprecated
> +    public static URI rewriteURI(
> +            final URI uri,
> +            final HttpHost target,
> +            final boolean dropFragment) throws URISyntaxException
> +    {
> +        return rewriteURI(uri, target, dropFragment ? DROP_FRAGMENT :
> NO_FLAGS);
> +    }
> +
> +    /**
> +     * A convenience method for creating a new {@link URI} whose scheme,
> host
> +     * and port are taken from the target host, but whose path, query and
> +     * fragment are taken from the existing URI. What exactly is used and
> how
> +     * is driven by the passed in flags. The path is set to "/" if not
> explicitly specified.
> +     *
> +     * @param uri
> +     *            Contains the path, query and fragment to use.
> +     * @param target
> +     *            Contains the scheme, host and port to use.
> +     * @param flags
> +     *            True if the fragment should not be copied.
> +     *
> +     * @throws URISyntaxException
> +     *             If the resulting URI is invalid.
> +     * @since 5.7.8
>       */
>