Search packages, repositories and app categories

Package detailsv5.4.4

w_transport

Transport library for sending HTTP requests and opening WebSockets. Platform-independent with builtin support for browser and Dart VM (even supports SockJS). Includes mock utilities for testing.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
32.4K
Likes
3
Pub points
125

Install package

flutter pub add w_transport

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

w_transport is a platform-independent HTTP and WebSocket client library for Dart, designed to work seamlessly across Android, iOS, Web, macOS, Windows, and Linux. It supports standard HTTP requests and WebSocket connections, with built-in compatibility for SockJS in environments where native WebSockets aren't available. The library includes mock utilities that simplify testing by allowing developers to simulate network behavior without actual network calls. Ideal for applications requiring reliable, cross-platform communication with backend services.

Use cases

  • Sending HTTP requests from Flutter apps
  • Establishing WebSocket connections in web and mobile apps
  • Testing network logic with mock responses
  • Building real-time features using WebSockets
  • Creating portable networking layers across platforms

Key features

  • Cross-platform HTTP and WebSocket support
  • Built-in SockJS fallback for browsers
  • Mock utilities for unit testing
  • Consistent API across all platforms
  • Lightweight and focused on transport layer

Suitable for

  • Developers building multi-platform Flutter apps
  • Teams needing consistent network behavior across devices
  • Projects requiring testable network code
  • Real-time data streaming applications
  • Backend-agnostic communication layers

Considerations

  • Requires understanding of HTTP and WebSocket protocols
  • Limited to transport-level functionality (no serialization)
  • Mock utilities are for testing only, not production use
  • Not suitable for complex REST clients with caching or auth out of the box
  • Depends on external packages for JSON parsing or request interception

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

w_transport

Pub


Transport library for sending HTTP requests and opening WebSockets.

HTTP support includes plain-text, JSON, form-data, and multipart data, as well as custom encoding. Also supports automatic retrying and request & response interception.

WebSocket support includes native WebSockets in the browser and the VM with the option to use SockJS in the browser.

All transport classes are platform-independent and can be configured to work in the browser or on the Dart VM. Additionally, all transport classes can be mocked out and controlled through an API included with this library.


Docs & Help
Older Versions
Installing

As of version 3.0.0, w_transport will be following a versioning and stability commitment that guarantees a compatibility lifespan of two major versions.

If you're installing w_transport for the first time, simply depend on the latest major version and you'll get all patches and minor versions as they are released:

dependencies:
  w_transport: ^3.0.0

If you're upgrading from version 2.x, you can use the above version range without breaking any existing code. Check out the 3.0.0 upgrade guide.

Importing

The main entry point contains all of the transport classes necessary for sending HTTP requests and establishing WebSocket connections. It is also platform-independent (depends on neither dart:html nor dart:io), which means you can use it to build components, libraries, or APIs that will be reusable in the browser and on the Dart VM.

import 'package:w_transport/w_transport.dart' as transport;

We strongly recommend importing with the prefix transport because there are some classes whose names conflict with classes from the Dart SDK.

The end consumer will make the decision between browser and VM, most likely in a main() block.

Dart SDK

As of version 3.0.0 of the w_transport package, the minimum required Dart SDK version is 1.14.0 (released Jan 28, 2016).

Versioning and Stability

This library follows semver to the best of our interpretation of it. We want this library to be a stable dependency that’s easy to keep current. A good explanation of the versioning scheme that we intend to follow can be seen here from React.js:

https://facebook.github.io/react/blog/2016/02/19/new-versioning-scheme.html

In short: our goal is for every major release to be backwards compatible with the previous major version, giving consumers a lifespan of two major versions to deal with deprecations.

Credits

This library was influenced in many ways by the http package, especially with regard to multipart requests, and served as a useful source for references to pertinent IETF RFCs.

Development

This project leverages the dart_dev package for most of its tooling needs, including static analysis, code formatting, running tests, collecting coverage, and serving examples. Check out the dart_dev readme for more information.

To run integration tests, you'll need two JS dependencies for a SockJS server. Run npm install to download them.

Categories

Dependencies

Dependency list 7 items

Source repository

Projects using this package

No data available yet.