Files
firebase-js-sdk/docs-devsite/functions.httpscallablestreamoptions.md
Daniel LeeandGitHub 6ab1e32756 Support streaming streaming responses for callable functions. (#8609)
The new .stream() API allows the client to consume streaming responses from the WIP streaming callable functions in Firebase Functions Node.js SDK.

When client makes a request to the callable function w/ header Accept: text/event-stream, the callable function responds with response chunks in Server-Sent Event format.

The sdk changes here abstracts over the wire-protocol by parsing the response chunks and returning an instance of a AsyncIterable to consume to data:

import { getFunctions, httpsCallable } from "firebase/functions";

const functions = getFunctions();
const generateText = httpsCallable(functions, 'generateText');
const resp = await generateText.stream(
  { text: 'What is your favorite Firebase service and why?' },
  { signal: AbortSignal.timeout(60_000) },
);
try {
  for await (const message of resp.stream) {
     console.log(message); // prints "foo", "bar"
  }
  console.log(await resp.data) // prints "foo bar"
} catch (e) {
  // FirebaseError(code='cancelled', message='Request was cancelled.');
  console.error(e)
}
2024-12-04 09:48:50 -08:00

1.9 KiB

Project: /docs/reference/js/_project.yaml Book: /docs/reference/_book.yaml page_type: reference

{% comment %} DO NOT EDIT THIS FILE! This is generated by the JS SDK team, and any local changes will be overwritten. Changes should be made in the source code at https://github.com/firebase/firebase-js-sdk {% endcomment %}

HttpsCallableStreamOptions interface

An interface for metadata about how a stream call should be executed.

Signature:

export interface HttpsCallableStreamOptions 

Properties

Property Type Description
limitedUseAppCheckTokens boolean If set to true, uses a limited-use App Check token for callable function requests from this instance of Functions. You must use limited-use tokens to call functions with replay protection enabled. By default, this is false.
signal AbortSignal An AbortSignal that can be used to cancel the streaming response. When the signal is aborted, the underlying HTTP connection will be terminated.

HttpsCallableStreamOptions.limitedUseAppCheckTokens

If set to true, uses a limited-use App Check token for callable function requests from this instance of Functions. You must use limited-use tokens to call functions with replay protection enabled. By default, this is false.

Signature:

limitedUseAppCheckTokens?: boolean;

HttpsCallableStreamOptions.signal

An AbortSignal that can be used to cancel the streaming response. When the signal is aborted, the underlying HTTP connection will be terminated.

Signature:

signal?: AbortSignal;