# UrlConnection constructor

UrlConnection(

1. Url url

)

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);
    }

## Implementation

    UrlConnection(this.url);