universal_io 0.1.0 copy "universal_io: ^0.1.0" to clipboard
universal_io: ^0.1.0 copied to clipboard

outdated

Supports a subset of 'dart:io' in all platforms, including the browser.

Introduction #

A Dart package that supports a subset of dart:io in all platforms, including the browser (where it normally doesn't work).

Typically you just import "package:universal_io/io.dart" (instead of "dart:io"):

  • In the Dart VM and Flutter, the library exports dart:io.
  • In browser: the library exports its own, compatible classes.

Licensed under the MIT License. A lot of the source code was adopted from the original 'dart:io' in Dart SDK, which was licensed under a BSD-style license.

Features #

  • Platform information
    • Operating system, locale, terminal, etc.
  • HTTP client
    • In browser, the connection to the server is established only after you have committed request body by calling HttpClientRequest method close().
  • File access
    • In browser, access to all directories and files is denied.
  • Sockets
    • In browser, all methods throw UnimplementedError.

Getting started #

Add dependency #

In pubspec.yaml:

dependencies:
  universal_io: ^0.1.0

Override behavior #

import 'dart:async';

import 'package:universal_io/io.dart';
import 'package:universal_io/io_driver.dart';

void main() async {
  // Set IO driver
  IODriver.zoneLocal.defaultValue = new MyDriver();

  // Do something
  final socket = await Socket.connect("google.com", 80);
  socket.close();
}

class MyDriver extends IODriver {
  @override
  Future<Socket> connectSocket(host, int port,
      {sourceAddress, Duration timeout}) {
    print("Attempting to connect to '$host:$port'");
    return super.connectSocket(host, port);
  }
}
209
likes
0
pub points
99%
popularity

Publisher

verified publisherdint.dev

Supports a subset of 'dart:io' in all platforms, including the browser.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

http, stream_channel, typed_data

More

Packages that depend on universal_io