# fluri 1.0.1

Fluri is a fluent URI library built to make URI mutation easy




## Installing
```
export PUB_HOSTED_URL=https://pub.mirror.p-hatan.ir
flutter pub add 'fluri:1.0.1'
```
Published: 2015-06-11T19:40:36.777Z
Expected archive SHA-256: d075ff41218d7ad375c8e0dea3a9690498e9be73c7858063889c3c3629eed076

Available in cache; verification: upstream_checksum
## Direct dependencies

## Package README (untrusted upstream documentation)
fluri [![Pub](https://img.shields.io/pub/v/fluri.svg)](https://pub.dartlang.org/packages/fluri) [![Build Status](https://travis-ci.org/Workiva/fluri.svg?branch=master)](https://travis-ci.org/Workiva/fluri) [![codecov.io](http://codecov.io/github/Workiva/fluri/coverage.svg?branch=master)](http://codecov.io/github/Workiva/fluri?branch=master)
=====

> Fluri is a fluent URI library for Dart built to make URI mutation easy.

The `dart:core.Uri` class provides an immutable representation of URIs, which makes it difficult to incrementally build
them or update them at a later time. If you wanted to build a long URI from the individual pieces, you would do something like this:

```dart
Uri uri = new Uri(
  scheme: 'https',
  host: 'example.com',
  path: 'path/to/resource'
);
```

If you later wanted to update the path and add a query parameter, you'd have to do this:

```dart
uri = uri.replace(
  path: 'new/path',
  query: 'foo=true'
);
```

Now let's say you want update the query without losing what you already have:

```dart
Map query = new Map.from(uri.queryParameters);
query['bar'] = '10';
uri = uri.replace(queryParameters: query);
```

As you can see, incremental or fluent-style URI mutations become a hassle with the core `Uri` class.

With fluri, the above interactions are easy:

```dart
import 'package:fluri/fluri.dart';

Fluri uri = new Fluri()
  ..scheme = 'https'
  ..host = 'example.com'
  ..path = 'path/to/resource';

uri
  ..path = 'new/path'
  ..query = 'foo=true';

uri.updateQuery({'bar': '10'});
```
## Changelog
# Changelog

## 1.0.1
_No source changes in this release._

- Add code coverage reporting.
- Minor fixes and improvements to the readme.
- Code formatting improvements thanks to `dartfmt`.


## 1.0.0
- Initial version of Fluri: a fluent URI library for Dart built to make URI mutation easy.






 
