blob: 0877bfb81ee591e54af16657fa9dea01567d50ed [file] [log] [blame] [view] [edit]
# flutter_http_example
A Flutter sample app that illustrates how to configure and use
[`package:http`](https://pub.dev/packages/http).
## Goals for this sample
* Provide you with example code for using `package:http` in Flutter,
including:
* configuration for multiple platforms.
* using `package:provider` to pass `Client`s through an application.
* writing tests using `MockClient`.
## The important bits
### `http_client_factory.dart`
This library used to create `package:http` `Client`s when the app is run inside
the Dart virtual machine, meaning all platforms except the web browser.
### `http_client_factory_web.dart`
This library used to create `package:http` `Client`s when the app is run inside
a web browser.
Web configuration must be done in a separate library because Dart code cannot
import `dart:ffi` or `dart:io` when run in a web browser.
### `main.dart`
This library demonstrates how to:
* import `http_client_factory.dart` or `http_client_factory_web.dart`,
depending on whether we are targeting the web browser or not.
* share a `package:http` `Client` by using `package:provider`.
* call `package:http` `Client` methods.
### `widget_test.dart`
This library demonstrates how to construct tests using `MockClient`.