パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v1.2.1

fetch_client

Fetch API をベースにした http パッケージのクライアントで、Web 上でのストリーミングおよびキャンセル可能なリクエストを可能にし、さらに多くの機能を提供します。

Web
30日間ダウンロード
10.1万
いいね数
44
Pub ポイント
140

パッケージをインストール

flutter pub add fetch_client

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

Fetch_client は、Web でスムーズに動作するように設計された、HTTP リクエストを行うための Fetch API を模したインターフェースを提供する Flutter パッケージです。ストリーミングレスポンスとキャンセル可能なリクエストをサポートしており、Web アプリケーションにおけるパフォーマンスとユーザー体験を向上させます。http パッケージに基づいて構築されており、Dart の非同期プログラミングモデルとの互換性を維持しながら、現代的で直感的な構文を提供します。Web 向けの Flutter アプリで HTTP インタラクションを親しみやすく効率的に扱いたい開発者に最適です。

用途

  • WebベースのFlutterアプリでのHTTPリクエスト
  • APIからのストリーミング応答の処理
  • ナビゲーション中に進行中のリクエストをキャンセルする
  • リアルタイムデータフェッチの実装
  • 非同期操作を使用した応答性のあるWebインターフェースの構築

主な機能

  • Fetch API風の構文
  • ストリーミング応答のサポート
  • キャンセル可能なリクエスト
  • ウェブ最優先のデザイン
  • http パッケージの軽量ラッパー

適している対象

  • Webに特化したFlutter開発者
  • リアルタイムデータを必要とするアプリ
  • 現代のHTTPパターンを好む開発者
  • リクエストのキャンセルが必要なプロジェクト
  • ストリームベースのデータフローを使用するチーム

注意事項

  • Webプラットフォーム外では機能が制限されています
  • コア操作には http パッケージに依存しています
  • モバイルプラットフォームに対するネイティブなサポートなし
  • ウェブを超える複雑なHTTPシナリオには適していません
  • Webコンテキストでのストリームの取り扱いには注意が必要です

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

Fetch Client

pub package package publisher

This package provides package:http client based on Fetch API with WASM support.

It's a drop-in solution for extensions with Manifest V3.

Features

  • WASM-ready internals.
  • Cancel requests.
  • Support data streaming:
    • Get response as Stream.
    • Optionally, send Stream as request body (supported only in Chromium 105+ based browsers).
  • Get access to redirect URL and status.
  • Support non-200 responses (fetch will only fail on network errors).
  • Simulate redirects responses via probe request and artificial location header.

Notes

Large payload

This module maps keepalive to BaseRequest.persistentConnection which is true by default.

Fetch spec says that maximum request size with keepalive flag is 64KiB:

4.5. HTTP-network-or-cache fetch

8.10.5: If the sum of contentLength and inflightKeepaliveBytes is greater than 64 kibibytes, then return a network error.

Source: Fetch. Living Standard — Last Updated 19 June 2023

Therefore if your request is larger than 64KiB (this includes some other data, such as headers) BaseRequest.persistentConnection will be ignored and treated as false.

Request streaming

Request streaming is supported only in Chromium 105+ based browsers and requires the server to use HTTP/2 or HTTP/3.

See MDN compatibility chart and Chrome Developers' blog for more info.

カテゴリー

依存関係

依存関係一覧 2 件

ソースリポジトリ

このパッケージを使用しているプロジェクト