Package org.gradle.api.artifacts.repositories

# Interface UrlArtifactRepository

All Known Subinterfaces:
  `IvyArtifactRepository`, `MavenArtifactRepository`

public interface UrlArtifactRepository
A repository that supports resolving artifacts from a URL.

Since:
  6.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `URI`
  `getUrl()`
  The base URL of this repository.
  `boolean`
  `isAllowInsecureProtocol()`
  Specifies whether it is acceptable to communicate with a repository over an insecure HTTP connection.
  `void`
  `setAllowInsecureProtocol(boolean allowInsecureProtocol)`
  Specifies whether it is acceptable to communicate with a repository over an insecure HTTP connection.
  `void`
  `setUrl(Object url)`
  Sets the base URL of this repository.
  `void`
  `setUrl(URI url)`
  Sets the base URL of this repository.

- ## Method Details

  - ### getUrl

    URI getUrl()
    The base URL of this repository.
    Returns:
      The URL.

  - ### setUrl

    void setUrl(URI url)
    Sets the base URL of this repository.
    Parameters:
      `url` - The base URL.

  - ### setUrl

    void setUrl(Object url)
    Sets the base URL of this repository.
    Parameters:
      `url` - The base URL.

  - ### isAllowInsecureProtocol

    boolean isAllowInsecureProtocol()
    Specifies whether it is acceptable to communicate with a repository over an insecure HTTP connection.

    For security purposes this intentionally requires a user to opt-in to using insecure protocols on case by case basis.

    Gradle intentionally does not offer a global system/gradle property that allows a universal disable of this check.

    Allowing communication over insecure protocols allows for a man-in-the-middle to impersonate the intended server, and gives an attacker the ability to serve malicious executable code onto the system.

    See also: Want to take over the Java ecosystem? All you need is a MITM!

  - ### setAllowInsecureProtocol

    void setAllowInsecureProtocol(boolean allowInsecureProtocol)
    Specifies whether it is acceptable to communicate with a repository over an insecure HTTP connection.
    See Also:
      - `isAllowInsecureProtocol()`