# UrlConnection class abstract

Represents a communication link between the application and a Url.

This class serves as the base abstraction for different types of connections (e.g., HTTP, FTP). Concrete subclasses are expected to implement protocol-specific connection logic in the connect method.

Once connected, the UrlConnection provides access to the request and response objects, and allows obtaining an input stream for reading the response body.

### Example

    class HttpUrlConnection extends UrlConnection {
      HttpUrlConnection(Url url) : super(url);

      @override
      Future<void> connect() async {
        final client = HttpClient();
        final req = await client.getUrl(Uri.parse(url.toString()));
        _setRequest(req);
        _setResponse(await req.close());
      }
    }

    final connection = HttpUrlConnection(Url.parse('https://example.com'));
    await connection.connect();
    final stream = connection.getInputStream();
    int byte;
    while ((byte = await stream.readByte()) != -1) {
      print(byte);
    }

## Constructors

UrlConnection.new(Url url)
  Represents a communication link between the application and a Url.

## Properties

hashCode → int
  The hash code for this object.
  no setter inherited
request → HttpClientRequest?
  Returns the underlying HttpClientRequest object.
  no setter
response → HttpClientResponse?
  Returns the underlying HttpClientResponse object.
  no setter
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited
url → Url
  The Url this connection was created for.
  final

## Methods

connect() → Future<void>
  Establishes a connection to the resource referenced by this UrlConnection.
getInputStream() → InputStream
  Returns an InputStream that reads the response body of this connection.
noSuchMethod(Invocation invocation) → dynamic
  Invoked when a nonexistent method or property is accessed.
  inherited
toString() → String
  A string representation of this object.
  inherited

## Operators

operator ==(Object other) → bool
  The equality operator.
  inherited