Skip to content

Fetch.variables.fetchStream

fx-fetch


fx-fetch / Fetch / fetchStream

const fetchStream: {<E>(request, options): Effect<Stream<Uint8Array<ArrayBufferLike>, E, never>, MalformedReadableStreamError | FetchError | AbortError | NotAllowedError | NotOkError, Fetch>; <E>(options): (request) => Effect<Stream<Uint8Array<ArrayBufferLike>, E, never>, MalformedReadableStreamError | FetchError | AbortError | NotAllowedError | NotOkError, Fetch>; }

Defined in: packages/fx-fetch/src/Fetch/fetchStream.ts:53

Fetches and reads a stream response.

<E>(request, options): Effect<Stream<Uint8Array<ArrayBufferLike>, E, never>, MalformedReadableStreamError | FetchError | AbortError | NotAllowedError | NotOkError, Fetch>

Fetches and reads a stream response.

E

Request

Options<E>

Effect<Stream<Uint8Array<ArrayBufferLike>, E, never>, MalformedReadableStreamError | FetchError | AbortError | NotAllowedError | NotOkError, Fetch>

0.1.0

Response.readStream

import { Data, Effect } from 'effect';
import { Fetch, Request, Response } from 'fx-fetch';
class MyError extends Data.TaggedClass('MyError') {}
// ┌─── Effect.Effect<
// │ void,
// │ | Fetch.FetchError
// │ | Fetch.AbortError
// │ | Fetch.NotAllowedError
// │ | Response.NotOkError
// │ | MalformedReadableStreamError,
// │ Fetch.Fetch
// │ >
// ▼
const program = Effect.gen(function* () {
const request = Request.unsafeMake({ url: './my-endpoint' });
// ┌─── Stream<
// │ Uint8Array<ArrayBufferLike>,
// │ MyError,
// │ never
// │ >,
// ▼
const stream = yield* Fetch.fetchStream(request, {
onError: (err) => new MyError(),
releaseLockOnEnd: true, // optional
});
});

<E>(options): (request) => Effect<Stream<Uint8Array<ArrayBufferLike>, E, never>, MalformedReadableStreamError | FetchError | AbortError | NotAllowedError | NotOkError, Fetch>

Fetches and reads a stream response.

E

Options<E>

(request): Effect<Stream<Uint8Array<ArrayBufferLike>, E, never>, MalformedReadableStreamError | FetchError | AbortError | NotAllowedError | NotOkError, Fetch>

Request

Effect<Stream<Uint8Array<ArrayBufferLike>, E, never>, MalformedReadableStreamError | FetchError | AbortError | NotAllowedError | NotOkError, Fetch>

0.1.0

Response.readStream

import { Data, Effect } from 'effect';
import { Fetch, Request, Response } from 'fx-fetch';
class MyError extends Data.TaggedClass('MyError') {}
// ┌─── Effect.Effect<
// │ void,
// │ | Fetch.FetchError
// │ | Fetch.AbortError
// │ | Fetch.NotAllowedError
// │ | Response.NotOkError
// │ | MalformedReadableStreamError,
// │ Fetch.Fetch
// │ >
// ▼
const program = Effect.gen(function* () {
const request = Request.unsafeMake({ url: './my-endpoint' });
// ┌─── Stream<
// │ Uint8Array<ArrayBufferLike>,
// │ MyError,
// │ never
// │ >,
// ▼
const stream = yield* Fetch.fetchStream(request, {
onError: (err) => new MyError(),
releaseLockOnEnd: true, // optional
});
});

0.1.0

Response.readStream

import { Data, Effect } from 'effect';
import { Fetch, Request, Response } from 'fx-fetch';
class MyError extends Data.TaggedClass('MyError') {}
// ┌─── Effect.Effect<
// │ void,
// │ | Fetch.FetchError
// │ | Fetch.AbortError
// │ | Fetch.NotAllowedError
// │ | Response.NotOkError
// │ | MalformedReadableStreamError,
// │ Fetch.Fetch
// │ >
// ▼
const program = Effect.gen(function* () {
const request = Request.unsafeMake({ url: './my-endpoint' });
// ┌─── Stream<
// │ Uint8Array<ArrayBufferLike>,
// │ MyError,
// │ never
// │ >,
// ▼
const stream = yield* Fetch.fetchStream(request, {
onError: (err) => new MyError(),
releaseLockOnEnd: true, // optional
});
});