org.apache.hc.client5.http.auth

## Class AuthScope

- java.lang.Object
- - org.apache.hc.client5.http.auth.AuthScope

    @Contract(threading=IMMUTABLE)
    public class AuthScope
    extends Object

`AuthScope` represents an authentication scope consisting of a host name, a port number, a realm name and an authentication scheme name.

This class can also optionally contain a host of origin, if created in response to authentication challenge from a specific host.

Since:
  4.0

### Field Summary

Fields
`static AuthScope` `ANY` Default scope matching any host, port, realm and authentication scheme.
`static String` `ANY_HOST` The `null` value represents any host.
`static int` `ANY_PORT` The `-1` value represents any port.
`static String` `ANY_REALM` The `null` value represents any realm.
`static String` `ANY_SCHEME` The `null` value represents any authentication scheme.

### Constructor Summary

Constructors
Constructor and Description
`AuthScope(AuthScope authscope)` Creates a copy of the given credentials scope.
`AuthScope(org.apache.hc.core5.http.HttpHost origin)` Defines auth scope for a specific host of origin.
`AuthScope(org.apache.hc.core5.http.HttpHost origin, String realm, String schemeName)` Defines auth scope for a specific host of origin.
`AuthScope(String host, int port)` Defines auth scope with the given `host` and `port`.
`AuthScope(String host, int port, String realm)` Defines auth scope with the given `host`, `port` and `realm`.
`AuthScope(String host, int port, String realm, String schemeName)` Defines auth scope with the given `host`, `port`, `realm`, and `schemeName`.

### Method Summary

Methods
`boolean` `equals(Object o)`
`String` `getHost()`
`org.apache.hc.core5.http.HttpHost` `getOrigin()`
`int` `getPort()`
`String` `getRealm()`
`String` `getScheme()`
`int` `hashCode()`
`int` `match(AuthScope that)` Tests if the authentication scopes match.
`String` `toString()`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### ANY_HOST

    public static final String ANY_HOST

The `null` value represents any host. In the future versions of HttpClient the use of this parameter will be discontinued.

#### ANY_PORT

    public static final int ANY_PORT

The `-1` value represents any port.

See Also:
  Constant Field Values

#### ANY_REALM

    public static final String ANY_REALM

The `null` value represents any realm.

#### ANY_SCHEME

    public static final String ANY_SCHEME

The `null` value represents any authentication scheme.

#### ANY

    public static final AuthScope ANY

Default scope matching any host, port, realm and authentication scheme. In the future versions of HttpClient the use of this parameter will be discontinued.

### Constructor Detail

#### AuthScope

    public AuthScope(String host,
             int port,
             String realm,
             String schemeName)

Defines auth scope with the given `host`, `port`, `realm`, and `schemeName`.

Parameters:
  `host` - authentication host. May be `ANY_HOST` if applies to any host.
  `port` - authentication port. May be `ANY_PORT` if applies to any port of the host.
  `realm` - authentication realm. May be `ANY_REALM` if applies to any realm on the host.
  `schemeName` - authentication scheme. May be `ANY_SCHEME` if applies to any scheme supported by the host.

#### AuthScope

    public AuthScope(org.apache.hc.core5.http.HttpHost origin,
             String realm,
             String schemeName)

Defines auth scope for a specific host of origin.

Parameters:
  `origin` - host of origin
  `realm` - authentication realm. May be `ANY_REALM` if applies to any realm on the host.
  `schemeName` - authentication scheme. May be `ANY_SCHEME` if applies to any scheme supported by the host.
Since:
  4.2

#### AuthScope

    public AuthScope(org.apache.hc.core5.http.HttpHost origin)

Defines auth scope for a specific host of origin.

Parameters:
  `origin` - host of origin
Since:
  4.2

#### AuthScope

    public AuthScope(String host,
             int port,
             String realm)

Defines auth scope with the given `host`, `port` and `realm`.

Parameters:
  `host` - authentication host. May be `ANY_HOST` if applies to any host.
  `port` - authentication port. May be `ANY_PORT` if applies to any port of the host.
  `realm` - authentication realm. May be `ANY_REALM` if applies to any realm on the host.

#### AuthScope

    public AuthScope(String host,
             int port)

Defines auth scope with the given `host` and `port`.

Parameters:
  `host` - authentication host. May be `ANY_HOST` if applies to any host.
  `port` - authentication port. May be `ANY_PORT` if applies to any port of the host.

#### AuthScope

    public AuthScope(AuthScope authscope)

Creates a copy of the given credentials scope.

### Method Detail

#### getOrigin

    public org.apache.hc.core5.http.HttpHost getOrigin()

Returns:
  host of origin. If unknown returns @null,
Since:
  4.4

#### getHost

    public String getHost()

Returns:
  the host

#### getPort

    public int getPort()

Returns:
  the port

#### getRealm

    public String getRealm()

Returns:
  the realm name

#### getScheme

    public String getScheme()

Returns:
  the scheme type

#### match

    public int match(AuthScope that)

Tests if the authentication scopes match.

Returns:
  the match factor. Negative value signifies no match. Non-negative signifies a match. The greater the returned value the closer the match.

#### equals

    public boolean equals(Object o)

Overrides:
  `equals` in class `Object`
See Also:
  `Object.equals(Object)`

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`
See Also:
  `Object.toString()`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`
See Also:
  `Object.hashCode()`