FLUTTER ECOSYSTEM

pratikbaid3/flutter_client_sse

用于消费SSE API的Dart包。通过返回事件、id和数据的解析模型来消费服务器发送事件

flutter_client_sse 项目封面
Stars
54
Forks
74
最近推送(UTC)
2025年3月22日
项目状态
未归档
Pratik Baid GitHub avatar
GITHUB User

Pratik Baid ↗

GSoC 21' @CCExtractor | SIH 2020 Winner | SDE | Founder @Hustle-Creatives

Hustle CreativesIndia
语言DartTypeScript

此仓库发布的插件

使用的依赖

依赖清单 3 项
  • flutter{"sdk":"flutter"}
  • http^1.1.0
  • flutter_test开发依赖{"sdk":"flutter"}

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

展开 / 收起项目 README

Flutter Client SSE

Dart package to help consume Server Sent Events

Features:
  • Consumes server sent events
  • Returns parsed model of the event, id and the data

Getting Started

Import

Add the following import in the pubspec.yaml file

client_sse:
    git:
      url: https://github.com/pratikbaid3/flutter_client_sse
      path:
Example
///GET REQUEST
SSEClient.subscribeToSSE(
    method: SSERequestType.GET,
    url:
    'http://192.168.1.2:3000/api/activity-stream?historySnapshot=FIVE_MINUTE',
    header: {
        "Cookie":
        'jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InRlc3QiLCJpYXQiOjE2NDMyMTAyMzEsImV4cCI6MTY0MzgxNTAzMX0.U0aCAM2fKE1OVnGFbgAU_UVBvNwOMMquvPY8QaLD138; Path=/; Expires=Wed, 02 Feb 2022 15:17:11 GMT; HttpOnly; SameSite=Strict',
        "Accept": "text/event-stream",
        "Cache-Control": "no-cache",
    }).listen((event) {
        print('Id: ' + event.id!);
        print('Event: ' + event.event!);
        print('Data: ' + event.data!);
    },
);

///POST REQUEST
SSEClient.subscribeToSSE(
    method: SSERequestType.POST,
    url:
    'http://192.168.1.2:3000/api/activity-stream?historySnapshot=FIVE_MINUTE',
    header: {
        "Cookie":
        'jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InRlc3QiLCJpYXQiOjE2NDMyMTAyMzEsImV4cCI6MTY0MzgxNTAzMX0.U0aCAM2fKE1OVnGFbgAU_UVBvNwOMMquvPY8QaLD138; Path=/; Expires=Wed, 02 Feb 2022 15:17:11 GMT; HttpOnly; SameSite=Strict',
        "Accept": "text/event-stream",
        "Cache-Control": "no-cache",
    },
    body: {
        "name": "Hello",
        "customerInfo": {"age": 25, "height": 168}
    }).listen((event) {
            print('Id: ' + event.id!);
            print('Event: ' + event.event!);
            print('Data: ' + event.data!);
    },
);

Running Sample Backend

Nest The backend is in NestJS serving a single SSE api.

Installation

$ yarn install

Running the app

# development
$ yarn run start

# watch mode
$ yarn run start:dev