[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Http](https://evolu.dev/docs/api-reference/common/Http) › FetchResponse

```ts
type FetchResponse = Omit<
  Response,
  | "arrayBuffer"
  | "blob"
  | "body"
  | "bodyUsed"
  | "bytes"
  | "clone"
  | "formData"
  | "json"
  | "text"
>;
```

Defined in: [packages/common/src/Http.ts:67](https://github.com/evoluhq/evolu/blob/a18269a1b822c670b507c6a9b73b23eed32551fe/packages/common/src/Http.ts#L67)

Body-free [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) view safe to return from [fetch](https://evolu.dev/docs/api-reference/common/Http/functions/fetch).

[fetch](https://evolu.dev/docs/api-reference/common/Http/functions/fetch) returns this view only after the native body has been drained,
errored, or cancelled, so none of its usable members depends on the request
signal. Body-reading members and `Response.clone` are omitted because they
would be invalid after the fetch Task settles.

This is a TypeScript contract, not a runtime security boundary: the runtime
value can still be a native Response, and casts can access omitted members.